0

我一直在用头撞墙,希望有人能提供帮助。我正在使用ajax填充一个选择框。我已经能够做到,但我似乎只能显示第一个值,数据来自json。当我控制台记录 aData 时,我得到多个值,但我不在选择列表中......有什么想法吗?

$('.request-make').change(function () {
    var postVars = new Object();
    postVars.make = $('.request-make').val();

    $.ajax({
        type: 'POST',
        url: '/car_search/get_model',
        dataType: 'json',
        data: postVars,
        cache: false,
        success: function (aData) {
            //alert(aData)  
            //console.log(aData)
            //$('#request-model').val(response.data);
            $('#makebox').get(0).options.length = 0;
            $('#makebox').get(0).options[0] = new Option("--Select--", "0");

            $.each(aData, function (i, item) {
                $('#makebox').get(0).options[$('#makebox').get(0).options.length] = new Option(item[i].data, item[i].data);
            })
        }
    });
});
4

1 回答 1

0

这是 $.each 调用的规范:

jQuery.each(集合,回调(indexInArray,valueOfElement))

话虽如此,我怀疑这里有问题:

new Option(item[i].data, item[i].data);

因为, item 每次都已经是不同的 item。

你不是在尝试做类似的事情吗

new Option(item.data, item.data);

甚至

new Option(aData[i].data, aData[i].data);
于 2013-03-12T22:32:43.653 回答