0

いくつかの JSON オブジェクトを取得するために ajax 呼び出しを行っています。私はそれらを正しく理解しています。しかし、問題は、返された 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 に答える