我需要使用从 ajax 调用中获得的值来填充一个选择项,我将这些值返回为 json 数组。使用下面的代码,创建的选择没有任何选项。
$.ajax({
type: "GET",
url: "/wp-content/gta/search_airport.php",
data: {city: t_city}
}).done(function(resp){
var sel = $('<select name="airport" id="slt">').appendTo('#pick_type');
$.each(resp, function() {
$.each(this, function(k, v) {
$('<option>').val(k).text(v).appendTo('#slt');
});
});
});
示例 json 数组
[{"name":"Los Angeles","code":"LAX"},{"name":"San Francisco","code":"SFO"}]
我希望选项类似于 <option value="LAX">Los Angeles</option>
最佳答案
您不需要嵌套的 $.each()
。只需遍历数组并直接访问每个索引处的对象的属性:
$.each(resp, function(k, v) {
$('<option>').val(v.code).text(v.name).appendTo('#slt');
});
在第一次迭代中,v
将是 {"name":"Los Angeles","code":"LAX"}
,因此 v。 code
将是 "LAX"
。在第二次迭代中,v
将是 {"name":"San Francisco","code":"SFO"}
,所以 v.code
将是 "SFO"
...
(您可能还需要将 dataType:"json"
添加到您的 $.ajax()
选项 - 如果您没有指定 jQuery 会尝试解决它来自响应的 MIME 类型。)
关于javascript - Ajax 添加选项以选择每个 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941538/