在Internet Explorer中删除选项时,选择框的selectedIndex设置为-1

时间:2010-07-16 13:07:49

标签: javascript internet-explorer drop-down-menu

我有两个选择框(可用产品和所选产品)。该用途将项目从一个列表框移动到另一个列表框。这工作正常但在IE中,当我对他们选择的选项执行.remove(selectedIndex)(Javascript)时,该框的selectedIndex设置为-1。我希望列表框保持在相同的位置,但只需删除他们选择的产品。

我也试过

listbox.options [iProductIndex] = null;

这表现相同。

非常感谢任何帮助。

此致

萨姆

1 个答案:

答案 0 :(得分:0)

将旧的selectedIndex保留在变量中,然后在删除过程完成后将其更改回来:

var oldSelectedIndex = obj.selectedIndex;
obj.remove(oldSelectedIndex);
obj.selectedIndex = oldSelectedIndex;

删除一个项目后,您还应该确保oldSelectedIndex不会超出限制范围,但上面的代码段是为了解决这个问题。