在这种情况下,我有以下代码SWITCH
:
case 4:
inp = document.createElement('SELECT');
inp.id = "usrNameAttrListSel";
var optStr = "";
for (var i = 0; i < usrNameAttrFmts.length; i++) {
optStr += "<option value='"+i+"'>"+usrNameAttrFmts[i].displayStr+"</option>";
}
optStr += "<option value='-1'>Other...</option>";
inp.innerHTML = optStr;
....
上面的代码在FF和Chrome上工作正常。
而在IE中,功能不正常。
原因:
我添加了一个警报 - alert(inp.innerHTML)
.警报的实际结果应为:
<option value="0">User-name</option>
<option value="1">DomainUser-name</option>
<option value="2">Domain/User-name</option>
<option value="3">User-name@Domain</option>
<option value="4">SonicWALL Aventail</option>
<option value="-1">Other...</option>
但在IE中,我得到了,
User-name</option>
<option value="1">DomainUser-name</option>
<option value="2">Domain/User-name</option>
<option value="3">User-name@Domain</option>
<option value="4">SonicWALL Aventail</option>
<option value="-1">Other...</option>
它省略了,<option value="0">
.还有其他选择吗?
提前谢谢。
- 奎 师 那
使用这个:
案例4: inp = document.createElement('SELECT'); inp.id = 'usrNameAttrListSel'; for (var i = 0; i祝你好运。
在你的代码中没有太多可能出错的地方,但你可以尝试对你的HTML属性使用双引号:
optStr += '<option value="' + i + '"> ...
或
optStr += "<option value=""+i+"">" ...
也许这会有所帮助。