我正在尝试使用JQuery在数组中添加选项下拉列表,以便从数组中追加。
除了开场和开头之间的文字外,其他所有内容似乎都正常工作。结束标签没有出现。我是否太累了,我错过了一个简单的拼写错误或做错了什么?!?
JS和JQuery代码是:
var displayMenuSelections = function(){
var menuSelection = menu[0].prices[0];
var menuItems = Object.keys(menuSelection);
menuItems.forEach(menuFunction);
}
function menuFunction(item){
$('#menu').append($('<option value="' + item + '">' + item + '</option'));
}
典型选项标记的结果如下所示(开始和结束标记之间缺少&#39;项目):
<option value="Cafe Latte"></option>
答案 0 :(得分:1)
您忘记了结束选项标记的>
。 JQuery尝试为您关闭它,并且在此过程中内部项文本不会被设置。
Jquery采用的理念是尝试使用你提供的任何东西 - 这可能既好又坏,但在这种情况下,它会使调试更加困难,因为没有引发错误/异常。
var displayMenuSelections = function(){
var menuSelection = menu[0].prices[0];
var menuItems = Object.keys(menuSelection);
menuItems.forEach(menuFunction);
}
function menuFunction(item){
$('#menu').append($('<option value="' + item + '">' + item + '</option>'));
}
答案 1 :(得分:-1)
我认为你没有传递你的参数
item
到你的功能
menuFunction(item)
我假设您正在尝试发送
var menuSelection
因此您可以尝试将函数调用更改为
menuItems.forEach(menuFunction(menuSelection));
我没有测试过这个!