0

我正在进行 ajax 调用以检索一些 JSON 对象。我猜对了。但问题是当我想从返回的 JSON 中创建一个选择元素时,它不会创建一个或似乎是。

到目前为止我的 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 对象。

4

2 回答 2

2

createElementjQuery中没有方法

jQuery.createElement应该document.createElement


也不需要遍历对象的属性,您可以直接通过键访问它们

jQuery.each(data, function (index, item) {
    modelsOptions += "<option value=" + item.id + ">" + item.model + "</option>"
});
于 2013-11-09T14:38:34.390 回答
1

改变这个

jQuery("#model").html = modelsSelect;

jQuery("#model").html(modelsSelect);


参考

.html()

于 2013-11-09T14:27:44.320 回答