$ .ajax json下拉菜单项

时间:2016-03-02 09:07:12

标签: javascript jquery json ajax

我正在尝试使用json进行下拉。

JSON:

[["a","Apple"],["b", "Berry"]]

JavaScript的:

$.ajax({url:'fruit.json'}).done(function(data) { 
    var items = '<option value="" selected>Select</option>';
    $.each(data, function(i, val) {
        items += '<option value= "'+val[0]+'" > '+val[1]+' </option>';
    });
    $('#menu').html(items);
    console.log(items); //shows values correctly
});

HTML:

<script type="text/template" id="menuScriptWrapper">
    <select id="menu"></select>
</script>

为什么项目没有填入下拉菜单?

1 个答案:

答案 0 :(得分:1)

我按照你的指示实现了一个小提琴,为了简单起见跳过ajax层(无论如何,如果你的控制台日志显示你的预期值,ajax应该没问题)

使用Javascript:

var f = function(data) {
        console.log(data);
    var items = '<option value="" selected>Select</option>';
    $.each(data, function(i, val) {
        items += '<option value= "'+val[0]+'" > '+val[1]+' </option>';
    });
    $('#menu').html(items);
    console.log(items); //shows values correctly
};

f(([["a","Apple"],["b", "Berry"]]));

HTML

<select id="menu"/>

Fiddle

Everythink看起来很好。我说你的问题在于页面上的其他问题。我要仔细检查您的菜单选择器...同时检查您没有多个带有id="menu"属性的标签