【发布时间】:2014-12-24 15:12:25
【问题描述】:
我遇到了问题。这是我的代码:
this.setDataInDropDown = function(members) {
/*
* @todo check if some values are already availible in JSON
*/
var divs = [".xy-layer-longitude", ".xy-layer-latitude"],
len = divs.length;
for (var i=0; i<len; i++) {
$(divs[i]).empty();
if (!members || !members.length) {
alert("<option value='!none'>None<option>"); // triggered two times like it should !
$(divs[i]).append("<option value='!none'>None<option>");
} else {
var memLen = members.length;
for (var j=0; j<memLen; j++) {
$(divs[i]).append("<option value="+members[j]+">"+members[j]+"<option>");
}
}
}
}
如果成员数组包含例如 4 个值,则 append 方法将创建
<option value=member[0]>member[0]</option>
<option value=""></option>
<option value=member[1]>member[1]</option>
<option value=""></option>
...
确实,它在每个新成员
我检查了 $(div[i]) 是否只包含一个或多个对象,但结果是一样的。
注意:我只能在 IE11 中测试它,因为我在不接受其他浏览器的特定环境中工作。 jQuery 版本是 1.10。
【问题讨论】:
-
console.log(members);显示,结果如何。 -
您作为参数传递的
members变量是字符串吗?将members=JSON.parse(members);作为setDataInDropDown()的第一行
标签: javascript jquery internet-explorer option internet-explorer-11