javascript实现

来源:百度知道 编辑:UC知道 时间:2024/06/20 05:47:27
如果有三列复选框
<%for(var i=0;i<10;i++)
{%><input type=checkbox name=yes>

<input type=checkbox name=no>
<input type=checkbox name=ny>

<%}%>
如何实现点击其中一个时,同行另两个disabled

首先规范一下的你的代码,所有HTML属性的值用双引号引起来.

可以再为每个元素生成一个id,以方便编程操作
为每个checkbox都加上一个onclick属性.
onclick="func(this);"

于是你的代码被改写为
<%for(int i=0;i<10;i++)
{%><input type="checkbox" name="yes" id="<%=i%>0" onclick="func(this);"/>

<input type="checkbox" name="no" id="<%=i%>1" onclick="func(this);"/>
<input type="checkbox" name="ny" id="<%=i%>2" onclick="func(this);"/>

<%}%>

用行和列的编号来定义ID可以给编程带来方便,就象坐标一样.
上面ID定义中用i的值作为行,用0\1\2作为列

func函数定义如下:
function func(obj)
{

var row=obj.id.substring(0,1);

var col=parseInt(obj.id.substring(1,2));

if(obj.checked)//被勾选时禁用同行不同列的复选框
{

for(j=0;j<3;j++)
{

if(j==col)
continue;//如果是当前复选框,则跳过

document.