RADIO动态分组的问题没解决,能解决的两贴一并拿分,急等

applebomb 2005-06-09 06:01:28
原贴见
http://community.csdn.net/Expert/topic/4070/4070906.xml?temp=.260296

例如4个radioR1、R2、R3、R4、R5、R6。本来是点一个其它都取消选择的(就是所说的“组”),现在我要用JS动态的把他们分成两组或多组,R1、R2、R3一组,R4、R5、R6一组。或者在某条件下变成R1、R2一组,R3、R4一组,R5、R6一组

原本页面是通过对象的NAME来分组的,我现在通过JS改变这些对象的NAME,还是不能达到改变分组的功能:

<form name="form1" method="post" action="">
<input type="radio" name="R1" value="">
<input type="radio" name="R1" value="">
<input type="radio" name="R1" value="" onClick="this.name = 'R2'">
<input type="radio" name="R1" value="" onClick="this.name = 'R2'">
</form>

改变name改变不了分组的效果
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
applebomb 2005-06-10
  • 打赏
  • 举报
回复
IE5下测试不通过,无端冒出个角">"出来
qiqunet 2005-06-10
  • 打赏
  • 举报
回复



测试环境:在window2003 + IE6.0 环境中测试通过。



qiqunet 2005-06-10
  • 打赏
  • 举报
回复




冲着200分而来,呵:

<script>
function trychange(obj){
var outhtml=obj.outerHTML;
outhtml=outhtml.replace(/name=\w+\>/,"name=r2");
outhtml=outhtml.replace(" CHECKED","");
obj.outerHTML=outhtml+">";
}
</script>

<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">


不知是否符合要求?





qiqunet 2005-06-10
  • 打赏
  • 举报
回复


关键要看懂程序的意思,而不要完全照搬上面的代码,况且代码不长,就那么三四行而已。

因为我这里没有IE5的测试环境,所以不知道IE5下是什么样的。

你再看看下面这个对不对:

<script>
function trychange(obj){
var outhtml=obj.outerHTML;
var objname=obj.name;
outhtml=outhtml.replace("name="+objname,"name=r2");
outhtml=outhtml.replace(" CHECKED","");
obj.outerHTML=outhtml;
}
</script>

<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name='R1' value="radiobutton" onDblClick="trychange(this)">





applebomb 2005-06-10
  • 打赏
  • 举报
回复
自己修改了一下可以了,因为IE5下outhtml的排列与IE6有不同,但是还是要谢谢qiqunet的启示

修改为:
<script>
function trychange(obj){
var outhtml=obj.outerHTML;
outhtml=outhtml.replace(/name=\w+\>/,"name=r2>");
outhtml=outhtml.replace(/name=\w+\ /,"name=r2 "); //兼容IE5
outhtml=outhtml.replace(" CHECKED","");
alert("html is replaced from:\n" + obj.outerHTML + "\nto:\n" + outhtml);//TEST outerHTML
obj.outerHTML=outhtml;
}
</script>

<input type="radio" name="R1" value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name="R1" value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name="R1" value="radiobutton" onDblClick="trychange(this)">
<input type="radio" name="R1" value="radiobutton" onDblClick="trychange(this)">

87,910

社区成员

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

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