【发布时间】:2016-05-26 22:10:58
【问题描述】:
当用户单击选择元素时,我在尝试更新选择元素的选项时发现了 chrome 的问题。 我正在研究的系统基本上按照下面的 JSFiddle 工作,除了选项列表是通过 ajax 调用接收的,但即使使用对象也会产生相同的结果。
似乎正在发生的是,当用户单击并显示选项时,它只会显示 1 个选项。然后它将填充选项列表,但不会更新显示的数量。
如果您使用箭头键向上或向下移动,您实际上可以选择其他选项。我能找到的唯一解决方法是单击选择元素,然后再次单击它。
它在 IE 和 Firefox 中完美运行。
可以在此处找到 JSFiddle:http://jsfiddle.net/Largoh/Thz55/
HTML
<select id="selector">
<option value="2" selected>Option 2</option>
</select>
Javascript
$(function() {
$("#selector").click(function() {
if($("option", this).length < 2)
GetOptions(this);
});
});
function GetOptions(select) {
var Options = [
{ id: 1, text: "Option 1"},
{ id: 2, text: "Option 2"},
{ id: 3, text: "Option 3"},
{ id: 4, text: "Option 4"},
{ id: 5, text: "Option 5"},
{ id: 6, text: "Option 6"},
{ id: 7, text: "Option 7"}
];
$('option:first', select).remove();
for(var i = 0; i < Options.length;i++)
{
var option = $("<option/>");
option.val(Options[i].id).text(Options[i].text);
$(select).append(option);
}
}
【问题讨论】:
标签: javascript jquery html css google-chrome