我有这个jQuery代码,它可以工作。但丑陋:
var origin = "";
$.each(json, function(i,o){
origin += "<option value="+o.city_id+">"+o.city_name+"</option><option value="+o.province_id+">"+o.province+"</option><option value="Indonesia">"Indonesia"</option>";
});
$("#product_seg_area").append(origin);
然后我决定清理代码,这样它看起来更干净:
var origin = "";
$.each(json, function(i,o){
var seg_city += "<option value="+o.city_id+">"+o.city_name+"</option>";
var seg_province += "<option value="+o.province_id+">"+o.province+"</option>";
var seg_country += "<option value="Indonesia">"Indonesia"</option>";
origin = seg_city + seg_province + seg_country;
});
$("#product_seg_area").append(origin);
但似乎将3个变量连接到一个变量会使我的代码停止工作。我错过了什么?
$.each(json, function(i,o){
var seg_city += "<option value="+o.city_id+">"+o.city_name+"</option>";
var seg_province += "<option value="+o.province_id+">"+o.province+"</option>";
var seg_country += "<option value="Indonesia">"Indonesia"</option>";
origin = seg_city + seg_province + seg_country;
});
问题是未定义seg_city
。在第一轮中,您尝试将html
与undefined连接起来。所以你的代码弯下腰了。
为了让它发挥作用,
var seg_city, seg_country, seg_province;
$.each(json, function(i,o){
seg_city = "<option value="+o.city_id+">"+o.city_name+"</option>";
seg_province = "<option value="+o.province_id+">"+o.province+"</option>";
seg_country = "<option value="Indonesia">"Indonesia"</option>";
origin = seg_city + seg_province + seg_country;
});
试试这个。。。。
var origin = "";
$.each(json, function(i,o){
var seg_city = "<option value='"+o.city_id+"'>"+o.city_name+"</option>";
var seg_province = "<option value='"+o.province_id+"'>"+o.province+"</option>";
var seg_country = "<option value='Indonesia'>"Indonesia"</option>";
origin += seg_city + seg_province + seg_country;
});
$("#product_seg_area").append(origin);
您需要将此行从:
origin = seg_city + seg_province + seg_country;
至
origin += seg_city + seg_province + seg_country;