javascript - $.ajax json 下拉菜单项

标签 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>

为什么项目没有填充到下拉菜单中?

最佳答案

我按照你的指示实现了一个 fiddle ,为了简单起见,跳过了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

一切看起来都很好。我想说你的问题出在页面的其他地方。我会仔细检查您的菜单选择器...还要检查您是否有多个带有 id="menu" 属性的标签

关于javascript - $.ajax json 下拉菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35742680/

相关文章:

javascript - 是否可以使用 javascript 解析 JSON?

Java:将两个json对象与主键合并在一起

javascript - 2 个具有相同模型但排序顺序不同的 backbone.js 集合

javascript - 迭代对象属性时解决或拒绝 Promise

jquery iframe css firefox 错误?

ios - 复合键问题 Realm Swift

javascript - Openlayers 3 - 绘制后修改多边形

javascript - Google Analytics - 单页网站 - 平均访问持续时间

javascript - 确保我的 javascript 是 dom 修改时最后执行的事情

javascript - 动态更新浏览器窗口的高度