Javascript 动态下拉菜单在IE11中不起作用? var vehicleLineDD=document.getElementById(“vehicleLineDD”); 对于(i=0;i

Javascript 动态下拉菜单在IE11中不起作用? var vehicleLineDD=document.getElementById(“vehicleLineDD”); 对于(i=0;i,javascript,java,jsp,internet-explorer,Javascript,Java,Jsp,Internet Explorer,嗨,朋友们,我在这里附上我的代码,我现在已经罢工。 问题是vehicleLineDD是动态下拉列表。取决于另一个下拉列表,我应该在这里加载值。 它在IE8中运行良好,但在IE11中,除了vehicleLineDD.add(vehicleLineOp,null)之外,所有的值都正常 不添加值,仅添加最后一个值。每次更改第一个下拉列表时,我只能看到一个选项。 谁能帮我解决这个问题。提前感谢。您需要为vehicleLineOp变量创建一个新的option元素(使用类似于vehicleLineOp=do

嗨,朋友们,我在这里附上我的代码,我现在已经罢工。 问题是vehicleLineDD是动态下拉列表。取决于另一个下拉列表,我应该在这里加载值。 它在IE8中运行良好,但在IE11中,除了vehicleLineDD.add(vehicleLineOp,null)之外,所有的值都正常 不添加值,仅添加最后一个值。每次更改第一个下拉列表时,我只能看到一个选项。
谁能帮我解决这个问题。提前感谢。

您需要为vehicleLineOp变量创建一个新的option元素(使用类似于
vehicleLineOp=document.createElement(“option”);
)的代码),否则您只需使用不同的文本和值属性不断更新相同的option元素(这就是为什么只显示最后应用的文本和值)

var车辆线路;
var vehicleLineDD=document.getElementById(“vehicleLineDD”);
对于(i=0;i
编辑:以下是一个适用于IE11和IE8的工作示例:

函数填充(){
var arr=document.getElementById(“输入”).value.split(“\n”);
var车辆线路;
var vehicleLineDD=document.getElementById(“vehicleLineDD”);
vehicleLineDD.innerHTML=“”;
对于(变量i=0;i
将每个选项作为新行添加到下面的文本区域中,然后单击“填充下拉列表”:
例1 例2 例3

您在哪里定义
vehicleLineOp
?在我定义这些代码之前,vehicleLineOp的实际问题仅存在于.add方法中,因为我在add方法之前放置了警报,它会给出正确的结果,但由于未添加到vehicleLineDD(IE11)中,因此不会下拉感谢您三次回复。我已经有了vehicleLineOp=document.createElement(“选项”);所以我可能会像你说的那样用不同的值更新同一个位置。但它在IE8中运行良好。IE11的代码是否有任何变化??IE8和IE11之间有很多变化,特别是IE11解释HTML和JavaScript的方式。IE11明显更接近HTML和Ecmascript标准;如果它的行为不同,很可能是它的行为方式应该是这样的,IE8以一种非标准的方式解释了你的代码。好的,注意到。我们有没有其他代码可以用于我上面的代码,它们可以在IE11上工作?@Maharajan我用一个代码示例更新了我的答案,这个示例应该在IE8和IE11上都能工作。非常感谢你及时的帮助@Thriggle Let me看看这个,它对我很有用。
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);
}
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);
}