所以我有两个下拉菜单,第一个是我的产品从json展示的地方。 第二个是显示模型,取决于第一个下拉选择。 例如:第一个下拉列表显示苹果,第二个下拉列表显示iphone模型等。
我在第二个下拉列表中获取正确的内容时遇到问题。 有人可以告诉我,为什么第二次下拉充满了" undefined" ?
$.each(jsonData.Mobiler, function (key, value) {
$jsonProducent = key;
$("#dropdown").append("<option id=" + $jsonProducent + ">" + $jsonProducent + "</option>");
});
// MODElLER
$('#dropdown').change(function () {
$selected = $(this).find(":selected")[0];
if ($selected) {
visModel($selected);
}
});
function visModel($selected) {
// testing if $selected.id is right
alert($selected.id);
$jsonModel = jsonData.Mobiler + $selected.id;
// testing if $jsonModel is right
alert($jsonModel);
for (var i in $jsonModel) {
console.log($jsonModel[i].Model);
$("#dropdown2").append("<option>" + $jsonModel[i].Model + "</option>");
}
};
});
答案 0 :(得分:1)
此行不正确
$jsonModel = jsonData.Mobiler + $selected.id;
我不明白,为什么要总结两个对象。您应该按键获取模型数组
$jsonModel = jsonData.Mobiler[$selected.id];
此外,您应该在#dropdown2
每次更改后删除#dropdown
之前的所有选项
$("#dropdown2 > option").remove();