在IE的環境下,如果要使用innerHTML給select元素附加option,往往會無效,這是IE 的一個Bug,解決此問題可用下列三種方式代替:
function fill_select1() {
for(var i=0; i < 100; i++) {
select1.options[i] = new Option(i,i);
}
}
function fill_select2() {
var sOpts = "<SELECT>";
for (var i=0;i<100;i++) {
sOpts += '<OPTION VALUE="' + i + '">' + i + '</OPTION>\n';
}
select2.outerHTML = sOpts + "</SELECT>";
}
function fill_select3() {
for(var i=0; i < 100; i++) {
var oOption = document.createElement("OPTION"); oOption.text="Option: " + i;
oOption.value=i;
document.all.select3.add(oOption)
}
}
我本地测试了下,只有第一种方法好使。
function fill_select1() {
for(var i=0; i < 100; i++) {
select1.options[i] = new Option(i,i);
}
}
function fill_select2() {
var sOpts = "<SELECT>";
for (var i=0;i<100;i++) {
sOpts += '<OPTION VALUE="' + i + '">' + i + '</OPTION>\n';
}
select2.outerHTML = sOpts + "</SELECT>";
}
function fill_select3() {
for(var i=0; i < 100; i++) {
var oOption = document.createElement("OPTION"); oOption.text="Option: " + i;
oOption.value=i;
document.all.select3.add(oOption)
}
}
我本地测试了下,只有第一种方法好使。