我们有一个下拉列表,使用javascript(下面)动态填充。但它没有在IE7中显示。
这是填充选项的代码:
<script language="javascript" type="text/javascript">
window.onload = function() {
var today= new Date();
var year= today.getFullYear();
var val =0;
t2= 51;
grad_yr = document.getElementById("grad_yr");
grad_yr.options[0] = new Option("Year",val,false,false);
var y=year;
var yy=y;
for (var i=1; i <t2 ; i++) {
grad_yr.options[i] = new Option(y,y);
y=yy-1;
yy--;
}
}
</script>
这是HTML:
<select name="grad_yr" id="grad_yr"></select>
可能出现什么问题?
答案 0 :(得分:1)
您使用grad_yr
变量和select元素的相同全局变量名称创建了名称冲突。通过ID注释您从文档中提取grad_yr
的行,因为它是不必要的:
//grad_yr = document.getElementById("grad_yr");
grad_yr.options[0] = new Option("Year", val, false, false);
或者,如果你真的需要一个变量引用,只需给你的变量一个不同的名字,比如这个(或者其他一些):
grad_yrVar = document.getElementById("grad_yr");
grad_yrVar.options[0] = new Option("Year", val, false, false);
...
for (var i = 1; i < t2; i++) {
grad_yrVar.options[i] = new Option(y, y);
y = yy - 1;
yy--;
}
......它应该有用。
答案 1 :(得分:0)
试试这个
var grad_yr = document.getElementById("grad_yr");