Javascript IE7中未显示的动态下拉选项

Javascript IE7中未显示的动态下拉选项,javascript,drop-down-menu,Javascript,Drop Down Menu,我们有一个使用javascript动态填充的下拉列表(如下)。但它在IE7中没有显示 这是填充选项的代码: <script language="javascript" type="text/javascript"> window.onload = function() { var today= new Date(); var year= today.getFullYear(); var val =0; t

我们有一个使用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>

window.onload=函数(){
var today=新日期();
var year=today.getFullYear();
var=0;
t2=51;
grad_yr=document.getElementById(“grad_yr”);
梯度年选项[0]=新选项(“年”,val,false,false);
var y=年份;
var yy=y;
对于(var i=1;i试试这个

var grad_yr = document.getElementById("grad_yr");
试试这个

var grad_yr = document.getElementById("grad_yr");

您为
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]=新期权(“年”,val,false,false);
...
对于(变量i=1;i

…它应该可以工作。

您已经为
grad\u yr
变量和select元素使用了相同的全局变量名,从而创建了名称冲突。请按ID注释从文档中提取
grad\u 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]=新期权(“年”,val,false,false);
...
对于(变量i=1;i

…它应该会起作用。

var y=yy…y=yy-1;yy--;
给了我一个动脉瘤。
var y=yy…y=yy-1;yy--;
给了我一个动脉瘤。现在的情况是它显示在IE7(下拉列表)中,但没有选择的名称(即“年”)。在IE8中,选择名称出现了,但下拉列表仍然没有填充。嗯……它在IE7和IE8中对我起作用。您是否在IE8中使用“兼容模式”和开发工具(F12键)进行测试?另一个想法是:将您的
grad\u yr.options[i]=new Option()
语句更改为
grad\u yr.add(new Option())
取而代之,看看这是否有效……现在的情况是,它显示在IE7(下拉列表)中,但没有选择名称(即“年”)。在IE8中,选择名称出现,但下拉列表仍然没有填充。嗯……它在IE7和IE8中对我有效。您是否使用“兼容模式”和开发工具(F12键)在IE 8中进行测试?另一个想法是:将你的
grad\u yr.options[i]=new Option()
语句改为
grad\u yr.add(new Option())
,看看这是否有效。。。