实现起来稍有麻烦,建议:
1.为每个主下面的checkbox和从下面的checkbox的ID绑定上留言的id,绑定后的id格式如下:主checkbox:
<input id="ctl00_ContentPlaceHolder1_GridView1_ctl02_chkLeavemessage__留言ID_" onclick = "checksth(this);" type="checkbox" name="ctl00$ContentPlaceHolder1$GridView1$ctl02$chkLeavemessage" /></td>
从checkbox
<input id="ctl00_ContentPlaceHolder1_GridView1_ctl02_GridView2_ctl02_chkRe__留言ID_" type="checkbox" name="ctl00$ContentPlaceHolder1$GridView1$ctl02$GridView2$ctl02$chkRe" />
2.编写js代码如下: function checksth(obj)
{
var id = obj.id.substr(obj.id.indexOf("__"));//获取 __留言ID_ 部分 var allcheckbox = document.getElementsByTagName("input");//获得所有的复选框
for (var i = 0; i < allcheckbox.length; i++)
{
var ck = allcheckbox[i];
if (ck.type == "checkbox")
{
if (ck.id.indexOf(id) > 0 && ck != obj)//如果checkbox的ID与点击的按钮的ID有相同的 __留言ID_ 部分,则同步选中状态
ck.checked = obj.checked;
}
}
}
1.为每个主下面的checkbox和从下面的checkbox的ID绑定上留言的id,绑定后的id格式如下:主checkbox:
<input id="ctl00_ContentPlaceHolder1_GridView1_ctl02_chkLeavemessage__留言ID_" onclick = "checksth(this);" type="checkbox" name="ctl00$ContentPlaceHolder1$GridView1$ctl02$chkLeavemessage" /></td>
从checkbox
<input id="ctl00_ContentPlaceHolder1_GridView1_ctl02_GridView2_ctl02_chkRe__留言ID_" type="checkbox" name="ctl00$ContentPlaceHolder1$GridView1$ctl02$GridView2$ctl02$chkRe" />
2.编写js代码如下: function checksth(obj)
{
var id = obj.id.substr(obj.id.indexOf("__"));//获取 __留言ID_ 部分 var allcheckbox = document.getElementsByTagName("input");//获得所有的复选框
for (var i = 0; i < allcheckbox.length; i++)
{
var ck = allcheckbox[i];
if (ck.type == "checkbox")
{
if (ck.id.indexOf(id) > 0 && ck != obj)//如果checkbox的ID与点击的按钮的ID有相同的 __留言ID_ 部分,则同步选中状态
ck.checked = obj.checked;
}
}
}
其实这个东西不难,就是麻烦了一些,只要细心,很快能出来。function checksth(obj)
{
//document.body.nextSibling.childNodes
var tr = obj.parentNode.parentNode.nextSibling.nextSibling.nextSibling.nextSibling; //获取回复所在的行
//获取回复部分大表格 ctl00_ContentPlaceHolder1_GridView1_ctl03_GridView2 的行集
var htrs = tr.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes;
for (var i = 0; i < htrs.length; i++)
{
//获取回复表格中的复选框
var checkbox = htrs[i].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0];
checkbox.checked = obj.checked;
}
}
<head>
<script language = "javascript">
var checks = document.getElementsByName("box");//得到一个名称为box的集合
function openwindow()
{
for(var i=0;i<checks.length;i++)
{
if(checks[i].type == "checkbox")
checks[i].checked = false;
}
}
</script>
</head>
<body>
<input type = "checkbox" name = "box" checked>苹果<br>
<input type = "checkbox" name = "box" checked>香蕉<br>
<input type = "checkbox" name = "box" checked>桔子<br>
<input type = "checkbox" name = "box" checked>李子<br>
<input type = "button" name = "button"value = "都不喜欢" onclick = "openwindow()">
</body>
</html>
<HTML>
<HEAD>
<TITLE> New Document </TITLE> <script>
function test(obj){
var ch = obj ;
while(obj.tagName!="DIV"){
obj = obj.nextSibling ;
}
var child = obj.getElementsByTagName("input");
if(ch.checked){
for(var i=0;i<child.length;i++){
child[i].checked = true ;
}
}else{
for(var i=0;i<child.length;i++){
child[i].checked = false ;
}
}
}
</script>
</HEAD> <BODY>
<input type="checkbox" onclick="test(this)"/><br>
<div>
<input type="checkbox" /><br>
<input type="checkbox" /><br>
</div>
<input type="checkbox" onclick="test(this)"/><br>
<div>
<input type="checkbox" /><br>
<input type="checkbox" /><br>
</div>
</BODY>
</HTML>
楼主要的是这种效果吗??