实现起来稍有麻烦,建议:
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;
}
}
}
解决方案 »
- 怎么利用坐标来定位一个div
- js设置IE窗口无地址栏,工具栏,不要windows.open 的那种
- 请教jQuery高手:下面Prototype语法能用jquery实现吗?
- JavaScript自动关机的代码
- 还要请教那高手!
- javascript读取xml数据,并显示在网页中遇到的问题。
- 请教:怎样用一串固定的字符屏蔽状态栏所有的信息
- 我怎么取得到服务器的时间,日期,星期呢?
- 如何实现记录下焦点光标的位置然后在恢复?
- 如何改变背景音乐啊<BGSOUND name="mid" SRC="1.mid" loop=-1> 把src="1.mid"变成src="10.mid"
- 谁能给个zlnherit库。。网上基本搜索不到
- 在VS2008asp页面中无法使用behavior脚本划线,如何解决
其实这个东西不难,就是麻烦了一些,只要细心,很快能出来。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>
楼主要的是这种效果吗??