帮我看看错在哪里?

mrrdh007 2002-11-29 11:31:30
我想通过一组按钮(3个)来动态改变select中的options?代码如下:
<script language="javascript" type="text/javascript">
<!--
var mm=new Array(3);
mm[0]=["00","01","02","03","04"];
mm[1]=["10","11"];
mm[2]=["20","21","22","23"];
function remove(sel)
{ for (var i=0;i<sel.options.length-1;i++)
sel.options[i]=null;
}
function addoptions(optionlist,sel)
{ var k=0;
var j=0;
remove(sel);
for(k=0;k<radiogroup.length;k++)
{ if (radiogroup[k].checked)
{
for(j=0;j<optionlist.length;j++)
sel[j]=new option(optionlist[j],optionlist[j]);
}
break;
}
}
//-->
</script>

<form name="form2" method="post" action=""margin="0">
<input type="radio" id="radiogroup"name="radiogroup" value="0"checked="checked" onclick="addoptions(mm[0],sel)">
<label for="radiogroup">0</label>
<input type="radio" id="radiogroup"name="radiogroup" value="1"onclick="addoptions(mm[1],sel)">
<label for="radiogroup">1</label>
<input type="radio" id="radiogroup"name="radiogroup" value="2"onclick="addoptions(mm[2],sel)">
<label for="radiogroup">2</label>
<select name="sel"style="position:relative;top:3px">
<option selectedvalue="0">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
</select>
...全文
22 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzh_seagull 2002-11-29
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
<!--
var mm=new Array(3);
mm[0]=["00","01","02","03","04"];
mm[1]=["10","11"];
mm[2]=["20","21","22","23"];

function addoptions(optionlist,sel)
{ var k=0;
var j=0;
//remove(sel);
sel.options.length=0;

for(j=0;j<optionlist.length;j++)
sel[j]=new Option(optionlist[j],optionlist[j]);

}
//-->
</script>

<form name="form2" method="post" action=""margin="0">
<input type="radio" name="radiogroup" value="0"checked="checked" onclick="addoptions(mm[0],sel)">
0
<input type="radio" name="radiogroup" value="1"onclick="addoptions(mm[1],sel)">
1
<input type="radio" name="radiogroup" value="2"onclick="addoptions(mm[2],sel)">
2
<select name="sel"style="position:relative;top:3px">
<option selectedvalue="0">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
</select>
mrrdh007 2002-11-29
  • 打赏
  • 举报
回复
还是不行啊,点击第二个单旋钮时出毛病,把其它内容也加进来了
gzh_seagull 2002-11-29
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
<!--
var mm=new Array(3);
mm[0]=["00","01","02","03","04"];
mm[1]=["10","11"];
mm[2]=["20","21","22","23"];
function remove(sel)
{ for (var i=0;i<sel.options.length-1;i++)
sel.options[i]=null;
}
function addoptions(optionlist,sel)
{ var k=0;
var j=0;
remove(sel);

for(j=0;j<optionlist.length;j++)
sel[j]=new Option(optionlist[j],optionlist[j]);

}
//-->
</script>

<form name="form2" method="post" action=""margin="0">
<input type="radio" name="radiogroup" value="0"checked="checked" onclick="addoptions(mm[0],sel)">
0
<input type="radio" name="radiogroup" value="1"onclick="addoptions(mm[1],sel)">
1
<input type="radio" name="radiogroup" value="2"onclick="addoptions(mm[2],sel)">
2
<select name="sel"style="position:relative;top:3px">
<option selectedvalue="0">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
</select>
mrrdh007 2002-11-29
  • 打赏
  • 举报
回复
to gzh_seagull(不可) :
我说错了,是一组单选纽,name属性要一样啊
gzh_seagull 2002-11-29
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
<!--
var mm=new Array(3);
mm[0]=["00","01","02","03","04"];
mm[1]=["10","11"];
mm[2]=["20","21","22","23"];
function remove(sel)
{ for (var i=0;i<sel.options.length-1;i++)
sel.options[i]=null;
}
function addoptions(optionlist,sel)
{ var k=0;
var j=0;
remove(sel);
for(k=0;k<3;k++)
{ if (eval("form2.radiogroup"+k+".checked"))
{
for(j=0;j<optionlist.length;j++)
sel[j]=new Option(optionlist[j],optionlist[j]);
}
break;
}
}
//-->
</script>

<form name="form2" method="post" action=""margin="0">
<input type="radio" name="radiogroup0" value="0"checked="checked" onclick="addoptions(mm[0],sel)">
0
<input type="radio" name="radiogroup1" value="1"onclick="addoptions(mm[1],sel)">
1
<input type="radio" name="radiogroup2" value="2"onclick="addoptions(mm[2],sel)">
2
<select name="sel"style="position:relative;top:3px">
<option selectedvalue="0">00</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
</select>
mrrdh007 2002-11-29
  • 打赏
  • 举报
回复
在线等待,急啊!!
gzh_seagull 2002-11-29
  • 打赏
  • 举报
回复
sel.options.length-1 不用 -1
mrrdh007 2002-11-29
  • 打赏
  • 举报
回复
谢谢你,好了,刚才只是我网页没有刷新
问个问题,function remove(sel)
{ for (var i=0;i<sel.options.length-1;i++)
sel.options[i]=null;
} 这个函数也应该可以清空吧?
gzh_seagull 2002-11-29
  • 打赏
  • 举报
回复
代码在我这里没有问题,可能是浏览器的问题,我用的是IE6
mrrdh007 2002-11-29
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
<!--
var mm=new Array(3);
mm[0]=["动作片","科幻片","喜剧片","爱情片","恐怖片","连续剧","战争片","动画片","古装片","MTV","flash"];
mm[1]=["歌曲名","歌手名"];
mm[2]=["系统工具","实用工具","网络工具","媒体工具","娱乐工具"];

function addoptions(optionlist,sel)
{
var j=0;

sel.options.length=0;
for(j=0;j<optionlist.length;j++)
sel[j]=new Option(optionlist[j],optionlist[j]);
}
//-->
</script>

<form name="form2" method="post" action=""margin="0">
<input type="radio" name="radiogroup"
value="影视"checked="checked" onclick="addoptions(mm[0],sel)">
影视
<input type="radio" name="radiogroup"
value="音乐"onclick="addoptions(mm[1],sel)">
音乐
<input type="radio" name="radiogroup"
value="软件"onclick="addoptions(mm[2],sel)">
软件
<select name="sel"style="position:relative;top:3px">
<option selectedvalue="0">全部</option>
</select>
页面重载的时候,就显示一个“全部”,当单击单选纽时,就清空了,什么也没有
gzh_seagull 2002-11-29
  • 打赏
  • 举报
回复
你是不是写错了,不应该有这样的问题
mrrdh007 2002-11-29
  • 打赏
  • 举报
回复
用这个很好,但是将mm[i]的元素全换成汉字,就不行了
清空之后,就什么都没了,怎么会这样

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧