我正在进行ajax调用以检索一些JSON对象。我说对了。但是问题是当我想从返回的JSON创建一个select元素时,它没有创建一个元素,或者似乎没有。
到目前为止,我的JavaScript:
jQuery("#make").change(function () {
var value = $(this).val();
jQuery.getJSON("<?php echo site_url('ajax/get/models'); ?>", {
makeId: value
},
function (data) {
if (data != "false") {
var modelsSelect = jQuery.createElement('select');
var modelsOptions = "";
var id;
var model
jQuery.each(data, function () {
jQuery.each(this, function (key, value) {
if (key == "id") {
id = value;
} else {
model = value;
}
});
modelsOptions += "<option value=" + id + ">" + model + "</option>"
});
modelsSelect.innerHTML = modelsOptions;
jQuery("#model").html = modelsSelect;
} else {
alert("false");
}
});
});
我返回的JSON格式:
Object { id="28", model="test model"}
ajax调用返回的响应中可能有n个JSON对象。
最佳答案
jQuery中没有createElement
方法jQuery.createElement
应该是document.createElement
同样也不需要遍历对象的属性,您可以直接通过键访问它们
jQuery.each(data, function (index, item) {
modelsOptions += "<option value=" + item.id + ">" + item.model + "</option>"
});
关于javascript - 无法使用Ajax调用返回的json数据创建select元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877077/