obj.options[i].selected = true;
换成
obj.selectedIndex=??试试

解决方案 »

  1.   

    function selectChannel(obj,id)
    {
        for(var i=0; i<obj.options.length;i++)
        {
    var o=obj.options[i]
            if(o.value == id)
            {
    setTimeout(function(){o.selected = true;},0);
               return;
            }
        }
    }这样就好了
    估计又是dom的问题
      

  2.   

    是挺奇怪, 方法执行正确了,但还是报错
    用 new Option 到是可以
    <script>
    function selectChannel(obj,id)
    {
        for(var i=0; i<obj.options.length;i++)
        {
            if(obj.options[i].value == id)
            {
                obj.options[i].selected = true;
                break;
            }
        }
    }
    window.onload = function()
    {
        var obj = document.getElementById("qq");
        for(var i=0;i<10;i++)
        {
           obj.options[i] = new Option(i, i);
        }
        selectChannel(obj,8);
    }</script>