我有以下jquery代码,其中我试图使用ajax获取一些数据,然后填充我放在我的html文档正文中的选择:
$.ajax({
url: 'myurlhere',
method: 'GET',
async: false,
success: function(result) {
$.each(result, function(i, value) {
$('#myselect').append($('<option>').text(value).attr('value', value));
});
}
});
来自ajax调用的结果获取此数据:
{
"651":{
"name":"somename",
"stts":{
"opt1":2,
"opt2":1,
"opt3":"0"
}
},
"659":{
"name":"someothername",
"stts":{
"opt1":2,
"opt2":1,
"opt3":"0"
}
}
}
这是html:
<select id="#myselect"></select>
我可以看到数据已被收集,但它没有填充SELECT。
我做错了什么?
答案 0 :(得分:2)
您需要遍历对象并使用属性来获取值以显示在html中。即:value.name
:
$.ajax({
url: 'myurlhere',
method: 'GET',
async: false,
success: function(result) {
$.each(result, function(i, value) {
// Access name with value.name etc.
$('#myselect').append($('<option>').text(value.name).attr('value', value.name));
});
}
});
同样@Alex Kudryashev指出,你的选择元素应该是:
<select id="myselect"></select>