<html>
<body onload="init()">
<div id="test"><div>
<script>
function init() {
aSelect = document.createElement("select");
aSelect.name = 'test';for(var i = 1; i <=5; i++) {
aOption = document.createElement("option");
aOption.value = i;
aOption.text = i;
if(i == 3) {
aOption.selected = true;
}
aSelect.options.add(aOption);
}
document.getElementById("test").appendChild(aSelect);
}
</script>
</body>
</html>
在IE中默认选择2,在FF中默认选择3,程序的本意是要选择3
请大家帮忙看看出什么问题了?

解决方案 »

  1.   

    你还只把这个下拉添加到页面上去吧, 还没选择..
    if(isie)aSelect.value=2;
    else if(isff)aSelect.value=3;
      

  2.   

    不明白楼上的意思
    if(i == 3) {
            aOption.selected = true;
        }这里已经指定了 3这个选项是默认选择的
      

  3.   

    不好意思,看了好几便才看懂你说的意思
    我不是要在IE中选择2,在FF中选择3,而是,上面那段代码实际的显示(IE中为2,FF中为3)两个浏览器的表现不一样.
      

  4.   

    var str = document.getElementById("test");
    if(isie)str[2].selected=true; 
    else if(isff)str[3].selected=true;
      

  5.   

    可能我没有表述清楚我不是要在IE中选择2,在FF中选择3,而是,上面那段代码实际的显示效果(IE中为2,FF中为3)两个浏览器的表现不一样.
      

  6.   

    <html>
    <body onload="init()">
    <div id="test"><div>
    <script>
    function init() {
    aSelect = document.createElement("select");
    aSelect.name = 'test';
    aSelect.options.length=0;for(var i = 1; i <=5; i++) {
        var aOption = document.createElement("option");
        aSelect.options.add(aOption);
        aOption.value = i;
        aOption.text = i;
        if(i == 3) {
            aOption.selected = true;
        }
    }
    document.getElementById("test").appendChild(aSelect);
    }
    </script>
    </body>
    </html>
    IE中你要先加到DOM TREE才能选中;
      

  7.   

    请问楼上的是啥意思?
    我无论想要哪个被选中,其实际的效果都是他的上一个选项被选中(IE中),在FF中一直正常
      

  8.   

    IE中.你在设置selected的时候.实际上他还没有进入DOM TREE.所以设值无效了.
    把 aSelect.options.add(aOption); 提前就好了.
      

  9.   

    确实把 aSelect.options.add(aOption); 提前就好了但是为什么他总是选中了要指定的前一个呢?比如我设置了的选择3的时候他却选中了2,我设置要选中5,他却是4
    如果说他彻底不能设置的话那么他应该一直是第一个才对啊
      

  10.   

    你加句
    alert(aSelect.innerHTML)
    会看到
    firefox并不是立刻把selected属性加上去标签的.
      

  11.   

    我在IE、FF下测试都是选择3啊 汗⊙﹏⊙汗
      

  12.   


    FF确实不是,但是IE立刻就给2加了selected属性