[英]Internet Explorer 10 - jQuery click on select option doesn't work
[英]Adding an option to a select does not work in Internet Explorer
如果您隨后通過 JavaScript 向選擇添加一個選項,一切似乎都很好。
但是,如果您有一個通過數據庫填寫的表單,例如,並且預選了該選擇中的一個選項,則 Internet Explorer 會失敗:它始終是預選的下一個選項。
所有其他瀏覽器都可以正常工作。
這是一個工作示例:
var oSelect = document.getElementById('myselect'); var oOption = document.createElement('option'); oOption.text = '- - - my fabulous new option - - -'; oSelect.add(oOption, oSelect[3]);
<select id="myselect"> <option value="Algeria,DZA">Algeria</option> <option value="American Samoa,ASM">American Samoa</option> <option value="Andorra,AND">Andorra</option> <option selected value="Angola,AGO">Angola</option> <option value="Anguilla,AIA">Anguilla</option> <option value="Antarctica,ATA">Antarctica</option> </select>
這是在JSFiddle 上。
你知道為什么 IE 在這里會有不同的反應嗎?
提前致謝!
難度是通過插入“你很棒的新選項”來引入的。 ;)
如果將其作為第 5 個條目(oSelect[4])
插入,IE 會保持 html 的選定值"Angola,AGO"
處於選中狀態。 然而,在這個條目之前添加一些東西會把事情搞砸。 問題在於它會選擇entry [3]
而不檢查"Angola,AGO"
仍然保持該位置。
通過 JScript 進行選擇也適用於 IE。 瞧,它總是需要額外的 <3。
var oSelect = document.getElementById('myselect'); var oOption = document.createElement('option'); oOption.text = '- - - my fabulous new option - - -'; oSelect.add(oOption, oSelect[3]); // oSelect.value = "Angola,AGO"; <-- changed because of comments oSelect.value = oSelect.options[oSelect.selectedIndex].value;
<select id="myselect"> <option value="Algeria,DZA">Algeria</option> <option value="American Samoa,ASM">American Samoa</option> <option value="Andorra,AND">Andorra</option> <option selected value="Angola,AGO">Angola</option> <option value="Anguilla,AIA">Anguilla</option> <option value="Antarctica,ATA">Antarctica</option> </select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.