function comlist(ch,cmstr)
{
var obj=document.getElementById(cmstr);
switch(ch)
{
case t[11]:
if (obj) {obj.options[0].selected=true;}
break;
case t[12]:
if (obj) {obj.options[2].selected=true;}
            break;
case t[13]:
if (obj) {obj.options[1].selected=true;}
            break;
case t[14]:
if (obj) {obj.options[0].selected=true;}
break;
default:
        break;   
}
}
这个函数是根据ch的值来设定cmstr列表的选定项,有5个列表,最后个列表显示的不对,但是在var obj=document.getElementById(cmstr);前面加了alert()之后结果就正确了?

解决方案 »

  1.   

    那个cmstr是不是异步创建的?
    会不会是在应用的时候还没创建好。等你点击了Alert以后,耽搁了一下就创建好了。
      

  2.   

    Alert没有这样的功能吧!!!!
      

  3.   


    有什么解决方法吗?
    我在var obj=document.getElementById(cmstr);
    前加setTimeout(1000)结果还是不正确,加了alert()就正常了
      

  4.   

    解决了,把comlist的调用写在后面就正常了