2013-07-12 82 views

回答

1

正如您發現的那樣,您無法可靠地使用innerHTML來設置現有select的選項。

,最好的辦法是通過selectoptions屬性:

var option = new Option("[email protected]", "[email protected]"); 
// 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); 
相關問題