使用jquery添加下拉选项不起作用

使用jquery添加下拉选项不起作用

问题描述:

我很清楚在这里做错了什么,但我正在绞尽脑汁想弄明白。使用jquery添加下拉选项不起作用

所以我有一个<select></select>正是如此定义:

<select name="entryspeaker" id="entryspeaker"> 
    <option value="">No associated speaker</option> 
</select> 

然后在我的剧本,我定义的“扬声器”对象的数组。我通过运行,我试图将它们添加到列表中(如图所示here),所以:

for (speakerIdx in speakerlist) { 
    var speaker = speakerlist[speakerIdx]; 
    var newOption = $('<option></option>').val(speaker.__id__).html(speaker.name); 
    $('#entryspeaker').append(newOption); 
    console.log(speaker); 
    console.log(newOption); 
} 

在检查日志中的speaker值,它肯定是获取正确的对象,我也已经证实newOption值包含有效的<option>对象,但未将其正确添加到列表中。

有人能帮助这里指出我的愚蠢?

在此先感谢!


编辑:它看起来像,这是由于使用Zurb基金会的自定义风格的下降列出了该网站。它似乎是在加载时复制原始列表,所以新项目不会被添加到复制列表中。我正在调查这一点,但这肯定是我的问题的原因。


编辑2 *:我找到了解决,这要归功于this page。这似乎引发了“变革”的力量基金会重建列表:

$('#entryspeaker').change(); 
+0

请发布你的数组。 – undefined 2013-03-03 20:43:24

是越来越正确添加为我与你的代码.. Here是JS提琴

我用下面的阵列

var speakerlist=[{id:"1", name:"Rsquare"}, {id:"2", name:"Adi"}, {id:"3", name:"Anuj"}]; 

您是否遇到任何特定问题?我用铬和IE9,它似乎工作正常。

+1

嗯......好奇。我也在使用Chrome浏览器,但没有任何内容(默认设置除外)显示。 其实......想到一个想法...我意识到,这个网站是使用Zurb基金会,自定义样式下拉。我非常确定id是通过将下拉菜单复制到自己的自定义下拉菜单中,然后隐藏原始图标来完成的。我相信我需要找到一种强制它在添加对象后重新创建自己的下拉菜单的方法。 感谢JS小提琴。它绝对帮助我排除了糟糕的js/html,并将基金会隔离为原因。 – 2013-03-03 20:51:43

+0

你检查的fiddle..it是有约束力的下拉,以及它正在登录正确的对象......只要我打15的声誉在IE9工作的罚款太.. – 2013-03-03 20:52:59

+0

,我一定会回来并upvote你的帮助! – 2013-03-03 20:54:56