我正在尝试使用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>
为什么项目没有填入下拉菜单?
答案 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"/>
Everythink看起来很好。我说你的问题在于页面上的其他问题。我要仔细检查您的菜单选择器...同时检查您没有多个带有id="menu"
属性的标签