我显然在这里做错了什么,但我正在绞尽脑汁想弄清楚。
所以我有一个<select></select>
这样定义:
<select name="entryspeaker" id="entryspeaker">
<option value="">No associated speaker</option>
</select>
然后在我的脚本中,我定义了一组“扬声器”对象。我运行并尝试将它们添加到列表中(如此处所示),因此:
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 Foundation 的自定义样式下拉列表。它似乎在加载时复制了原始列表,因此新项目没有被添加到复制的列表中。我正在调查,但这肯定是我的问题的原因。
编辑 2*:感谢这个页面,我找到了一个修复程序。似乎触发“更改”会迫使 Foundation 重建列表:
$('#entryspeaker').change();