使用json内容的Jquery下拉列表

时间:2014-06-18 13:37:37

标签: jquery json drop-down-menu undefined

所以我有两个下拉菜单,第一个是我的产品从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>");
    }
};
});

1 个答案:

答案 0 :(得分:1)

此行不正确

$jsonModel = jsonData.Mobiler + $selected.id; 

我不明白,为什么要总结两个对象。您应该按键获取模型数组

$jsonModel = jsonData.Mobiler[$selected.id];   

此外,您应该在#dropdown2每次更改后删除#dropdown之前的所有选项

$("#dropdown2 > option").remove(); 

JSFiddle DEMO