0

我有一个具有价值的变量 ddEmail

<option value="cp@cp.ljj" selected="">cp@cp.ljj</option>.

当我尝试将其放入选择元素中时

document.getElementById("txtEmail").innerHTML = ddEmail;

然后在 Firefox中显示的值与在 IE 中显示document.getElementById("txtEmail").innerHTML的值相同ddEmailcp@cp.ljj</option>

有什么办法可以解决吗?

4

1 回答 1

1

正如您所发现的,您不能可靠地使用innerHTML来设置现有select.

select通过'soptions属性的最佳方式:

var option = new Option("cb@cb.ljj", "cb@cb.ljj");
//  Option text --------^            ^---- option value
option.selected = true;
document.getElementById("txtEmail").options.add(option);

请注意,由于历史原因,它是add,不是pushpush适用于许多浏览器,但不是全部。

另请注意,以上假设 中没有选项select,或者您只想添加这个选项,而不是用它替换所有已经存在的选项。如果要删除以前的选项:

var sel = document.getElementById("txtEmail");
sel.options.length = 0;
sel.options.add(option);
于 2013-07-12T08:14:23.353 回答