我正在使用 javascript 填充下拉列表,它在每个浏览器中都运行良好,当然,Internet Explorer 除外(所有版本甚至 8)。
以下是填充下拉列表的函数:
function updateDropDown(divId, dropdownId) {
var containerDiv = document.getElementById(divId);
var checkboxes = $('.checkBox');
var dropDownHTML = "";
dropdownHTML = document.getElementById(dropdownId).innerHTML;
document.getElementById(dropdownId).innerHTML = "";
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) {
document.getElementById(dropdownId).innerHTML = document.getElementById(dropdownId).innerHTML + "<option value=" + checkboxes[i].id + ">" + checkboxes[i].id + "</option>";
alert(document.getElementById(dropdownId).innerHTML);
}
}
}
基本上,此函数获取带有类复选框的所有类元素,循环遍历它们并填充下拉列表。
以下行:
alert(document.getElementById(dropdownId).innerHTML);
已添加到调试中。
在 Firefox 和其他浏览器中,显示的内容是预期的输出:
<option value="myValue">myValue</option>
在 IE 中,这是输出:
GBP</option>
有谁知道为什么会这样吗?
最佳答案
是的,我对下拉列表有同样的问题,您需要创建下拉列表的选项,如以下链接(它在所有浏览器中兼容)
http://www.electrictoolbox.com/javascript-add-options-html-select/
希望对你有帮助
关于javascript - 下拉框 insideHTML 在 IE 中不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4143359/