附加选项标签以使用JQuery

时间:2017-01-10 23:54:58

标签: javascript jquery html

我正在尝试使用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>

2 个答案:

答案 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));

我没有测试过这个!