我一直在撞墙挡住我的头,希望有人可以提供帮助。我正在使用 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);
})
}
});
});
答案 0 :(得分:0)
这是$ .each电话的规范:
jQuery.each(集合,回调(indexInArray,valueOfElement))
话虽如此,我怀疑这里出了点问题:
new Option(item[i].data, item[i].data);
因为,每次项目已经是一个不同的项目。
你不是想做点什么吗
new Option(item.data, item.data);
甚至
new Option(aData[i].data, aData[i].data);