2011-04-27 50 views
0

我的代碼在Safari和FF中正常工作,但在IE中,下拉列表爲空。它只是空的。有任何想法嗎?這是jquery-1.5。謝謝!通過javascript添加選擇元素不起作用,即ie

var sel = document.createElement("select"); 
sel.setAttribute("id", key) 
sel.setAttribute('name', key) 
for (var option in ddHash[key]){ 
    var optElement = document.createElement("option") 
    optElement.text = ddHash[key][option] 
    if (// some conditional){ 
     optElement.selected = true 
    } 
    else { 
     optElement.selected = false 
    } 
    sel.appendChild(optElement) 
} 
+0

如果你使用jQuery,爲什麼不使用jQuery方法(http://stackoverflow.com/questions/170986/what-is-the-best-way-to-add-options-to-a-選擇從 - 一個陣列與 - jquery的)? – 2011-04-28 05:40:52

回答

1

我相信optElement.text對於IE應該是optElement.innerText

0

從爲option object的MSDN參考:

可以 動態與 使用document.createElement方法來創建新的選項元素,但你 直到新 元素添加到一個SELECT不能更改屬性目的。 或者,您可以創建充分利用Option對象形成 元素, 如下:

var opt = new Option('Text', 'Value', fDefaultSelected); 

因此,看來你只需要嘗試設置屬性之前調用appendChild