问题是这样的,我执行一个动态改变select选项的方法,结果如果加上alert就能正常改变,不加就改变不了,请哪位大侠帮忙看一下,谢谢了。------------------------------------------------------------------------
在处理修改页面的时候,经常会出现更改select列表取值的问题,以下为代码:<SCRIPT LANGUAGE="JavaScript">
<!--
function check(c,k)
{
for (var i=0;i<c.options.length ;i++ )
{ alert(1==1);
if (c.options(i).value==k)
{
c.selectedIndex =i;
}
}
}
//-->
</SCRIPT><FORM METHOD=POST ACTION="" name="myform">
<SELECT NAME="hehe">
<OPTION VALUE="beijing" SELECTED>北京</option>
<OPTION VALUE="shanghai">上海</option>
<OPTION VALUE="guiling">桂林</option>
<OPTION VALUE="guangzhou">广州</option>
<OPTION VALUE="chengdu">成都</option>
</SELECT>
</FORM>
<INPUT TYPE="button" NAME="" value="改变" onclick="check(document.myform.hehe,'guiling')">
在处理修改页面的时候,经常会出现更改select列表取值的问题,以下为代码:<SCRIPT LANGUAGE="JavaScript">
<!--
function check(c,k)
{
for (var i=0;i<c.options.length ;i++ )
{ alert(1==1);
if (c.options(i).value==k)
{
c.selectedIndex =i;
}
}
}
//-->
</SCRIPT><FORM METHOD=POST ACTION="" name="myform">
<SELECT NAME="hehe">
<OPTION VALUE="beijing" SELECTED>北京</option>
<OPTION VALUE="shanghai">上海</option>
<OPTION VALUE="guiling">桂林</option>
<OPTION VALUE="guangzhou">广州</option>
<OPTION VALUE="chengdu">成都</option>
</SELECT>
</FORM>
<INPUT TYPE="button" NAME="" value="改变" onclick="check(document.myform.hehe,'guiling')">
换成 setTimeout(100);
可能是缓存的问题?
{
for (var i=0;i <c.options.length ;i++ )
{
if (c.options(i).value==k)
{
c.selectedIndex =i;
}
}
}
这可以执行的啊
这个,我认为可以写在select里边,类似“<select name="hehe" id="sid1" onchange="function();" onclick="function();">”,,另外就是document.myform.hehe最好用getElementById,不然会和非IE浏览器不兼容产生错误,,最后就是2楼说的,c.options(i)改成c.options[i]
ff下改成c.options[i]也能执行啊