簡體   English   中英

動態下拉列表在IE11中不起作用?

[英]Dynamic Drop down not working in IE11?

var vehicleLineDD = document.getElementById("vehicleLineDD");
for (i = 0; i < arr.length; i++) {
    vehicleLineOp.text = arr[i].code + ': ' + arr[i].desc;
    vehicleLineOp.value = arr[i].code;
    vehicleLineDD.add(vehicleLineOp, null);
}

嗨,朋友們,我在這里附上我現在擊中的代碼。 問題是vehicleLineDD是動態下拉列表。 取決於另一個下拉菜單,我應該在此處加載值。 在IE8中工作正常,但在IE11中,除vehicleLineDD.add(vehicleLineOp,null);之外的所有值都正確顯示。 不添加值,僅添加最后一個值。 每次更改第一個下拉菜單時,我只能看到一個選項。 誰能幫助我解決問題。 提前致謝。

您需要為vehicleLineOp變量創建一個新的option元素(使用類似於vehicleLineOp = document.createElement("option"); ),否則,您將不斷更新具有不同文本和值屬性(即為什么只顯示最后應用的文本和值)。

var vehicleLineOp;
var vehicleLineDD = document.getElementById("vehicleLineDD");
for (i = 0; i < arr.length; i++) {
    vehicleLineOp = document.createElement("option");
    vehicleLineOp.text = arr[i].code + ': ' + arr[i].desc;
    vehicleLineOp.value = arr[i].code;
    vehicleLineDD.add(vehicleLineOp);
}

編輯:這是一個應在IE11和IE8中都可以使用的工作示例:

 function populate() { var arr = document.getElementById("input").value.split("\\n"); var vehicleLineOp; var vehicleLineDD = document.getElementById("vehicleLineDD"); vehicleLineDD.innerHTML = ""; for (var i = 0; i < arr.length; i++) { vehicleLineOp = document.createElement("option"); vehicleLineOp.text = arr[i]; vehicleLineOp.value = arr[i]; vehicleLineDD.add(vehicleLineOp); } } var btn = document.getElementById("btnPopulate"); if (btn.addEventListener) { btn.addEventListener("click", populate); } else { btn.attachEvent("onclick", populate); } 
 Add each choice as a new line in the text area below, thn click "Populate Dropdown":<br/> <textarea id="input" style="vertical-align:top;height:4em;">Example 1 Example 2 Example 3</textarea> <input type="button" value="Populate Dropdown" id="btnPopulate" /> <br/> <select id="vehicleLineDD"></select> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM