比如:
现在页面上这样排列.
其中:cb101是id为101的checkbox,cb102是id为102的checkbox ......
cb201是id为201的checkbox,cb202是id为202的checkbox ......
cb301是id为301的checkbox,cb302是id为302的checkbox ......
cbl1为id为1的chekcbox
cbl2为id为2的chekcbox
cbl3为id为3的chekcbox
1 cb101 cb201 cb301
2 cb102 cb202 cb302
3 cb103 cb203 cb303
4 cb104 cb204 cb304
5 cb105 cb205 cb305
cbl1 cbl2 cbl3
现在的我要问的问题是:
如何做成,我勾选cbl1,那么对应的cbl101这一列(cbl101,cbl102...)全选,当然了,不勾cbl1对应的cbl101列就不全选.
同理:我勾选cbl2,那么对应的cbl201这一列全选,不勾,就不全选.
当然了,勾选cbl3也是要一样的效果.
如何做?谢谢!
只要能实现功能就可以,不管是怎么做(比如列一个table出来,在td里加标签等等),谢谢!
11 个解决方案
#1
这个,应该还是比较简单的吧,不至于“ 几乎找遍整个网络都没找到答案”
#2
我是真找不到如何实现了.你那有答案?希望你解决!谢谢!
#3
现在的我要问的问题是:
如何做成,我勾选cbl1,那么对应的cbl101这一列(cbl101,cbl102...)全选,当然了,不勾cbl1对应的cbl101列就不全选.
现在已经可以很清晰的描述出需求
上面的话直接翻成代码就可以了 一点没有冗余
cbl1_slecded_change(){ //比如代表cb101的选择事件
cbl10{2,...n}.checked=cbl101.checked;
}
如何做成,我勾选cbl1,那么对应的cbl101这一列(cbl101,cbl102...)全选,当然了,不勾cbl1对应的cbl101列就不全选.
现在已经可以很清晰的描述出需求
上面的话直接翻成代码就可以了 一点没有冗余
cbl1_slecded_change(){ //比如代表cb101的选择事件
cbl10{2,...n}.checked=cbl101.checked;
}
#4
function checkAll(type,len,prefix)//prefix就相当于cb
{//type为类别,相当于cbl1 cbl2 cbl3 ,给cb11这样的添加点解事件
//len就是要多少个被选中或取消,cb301 。。。。
var isContinue = true;
for(var i = ; i<= len;i ++ )
{
var cBox = document.getElementById(prefix+(i++));
if(cBox)
{
cBox.checked = !cBox.checked;
}
else
{
break;
}
}
}
仅做参考
{//type为类别,相当于cbl1 cbl2 cbl3 ,给cb11这样的添加点解事件
//len就是要多少个被选中或取消,cb301 。。。。
var isContinue = true;
for(var i = ; i<= len;i ++ )
{
var cBox = document.getElementById(prefix+(i++));
if(cBox)
{
cBox.checked = !cBox.checked;
}
else
{
break;
}
}
}
仅做参考
#5
还是搞不定啊.
#6
我写的虽不怎么样?但可以实现.这个例子是你要的效果吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
function getRows(){
var objTab = document.getElementById("objTable");
var row = objTab.rows.length;
return row;
}
function cbSelect(objId){
var obj = document.getElementById(objId);
var objSty = objId.substring(3,4);
var row = getRows();
if(obj.checked){
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = true;
}
}else{
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = false;
}
}
}
</script>
</head>
<body onload="getRows()">
<table id="objTable">
<tr>
<td> <input type="checkbox" id="cbl1" onclick="cbSelect('cbl1')"/>全选A</td>
<td> <input type="checkbox" id="cbl2" onclick="cbSelect('cbl2')" />全选B</td>
<td> <input type="checkbox" id="cbl3" onclick="cbSelect('cbl3')" />全选C</td>
</tr>
<tr>
<td><input type="checkbox" id="cb101" /></td>
<td><input type="checkbox" id="cb201" /></td>
<td><input type="checkbox" id="cb301" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb102" /></td>
<td><input type="checkbox" id="cb202" /></td>
<td><input type="checkbox" id="cb302" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb103" /></td>
<td><input type="checkbox" id="cb203" /></td>
<td><input type="checkbox" id="cb303" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb104" /></td>
<td><input type="checkbox" id="cb204" /></td>
<td><input type="checkbox" id="cb304" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb105" /></td>
<td><input type="checkbox" id="cb205" /></td>
<td><input type="checkbox" id="cb305" /></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
function getRows(){
var objTab = document.getElementById("objTable");
var row = objTab.rows.length;
return row;
}
function cbSelect(objId){
var obj = document.getElementById(objId);
var objSty = objId.substring(3,4);
var row = getRows();
if(obj.checked){
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = true;
}
}else{
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = false;
}
}
}
</script>
</head>
<body onload="getRows()">
<table id="objTable">
<tr>
<td> <input type="checkbox" id="cbl1" onclick="cbSelect('cbl1')"/>全选A</td>
<td> <input type="checkbox" id="cbl2" onclick="cbSelect('cbl2')" />全选B</td>
<td> <input type="checkbox" id="cbl3" onclick="cbSelect('cbl3')" />全选C</td>
</tr>
<tr>
<td><input type="checkbox" id="cb101" /></td>
<td><input type="checkbox" id="cb201" /></td>
<td><input type="checkbox" id="cb301" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb102" /></td>
<td><input type="checkbox" id="cb202" /></td>
<td><input type="checkbox" id="cb302" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb103" /></td>
<td><input type="checkbox" id="cb203" /></td>
<td><input type="checkbox" id="cb303" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb104" /></td>
<td><input type="checkbox" id="cb204" /></td>
<td><input type="checkbox" id="cb304" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb105" /></td>
<td><input type="checkbox" id="cb205" /></td>
<td><input type="checkbox" id="cb305" /></td>
</tr>
</table>
</body>
</html>
#7
function checkAll(ele,len,preName)
{
for(var i=0;i<len;i++)
{
document.getElementById(preName+i).checked = ele.checked;
}
}
<input type="checkbox" id="cbl1" onclick="checkAll(this,5,'cb10')">
<input type="checkbox" id="cbl2" onclick="checkAll(this,5,'cb20')">
<input type="checkbox" id="cbl3" onclick="checkAll(this,5,'cb30')">
#8
夸张了吧
#9
这么简单.....的问题...
#10
function checkAllCheckBox(o){
var td=o.parentNode;
while(td.tagName!="TD"&&td.tagName!="TH"){
td=td.parentNode;
}
var table=td.parentNode;
while(table.tagName!="TABLE"){
table=table.parentNode;
}
var index=td.cellIndex;
for(var i=0;i<table.rows.length;i++){
var inp=table.rows[i].cells[index].childNodes[0];
while(inp.nodeType!=1){
inp=inp.nextSibling;
}
inp.checked=o.checked;
}
}
<table >
<tr>
<td><input type="checkbox" onclick="checkAllCheckBox(this);" />全选</td>
</tr>
<tr><td>><input type="checkbox" /></td></tr>
</table>
var td=o.parentNode;
while(td.tagName!="TD"&&td.tagName!="TH"){
td=td.parentNode;
}
var table=td.parentNode;
while(table.tagName!="TABLE"){
table=table.parentNode;
}
var index=td.cellIndex;
for(var i=0;i<table.rows.length;i++){
var inp=table.rows[i].cells[index].childNodes[0];
while(inp.nodeType!=1){
inp=inp.nextSibling;
}
inp.checked=o.checked;
}
}
<table >
<tr>
<td><input type="checkbox" onclick="checkAllCheckBox(this);" />全选</td>
</tr>
<tr><td>><input type="checkbox" /></td></tr>
</table>
#11
eval函数
#1
这个,应该还是比较简单的吧,不至于“ 几乎找遍整个网络都没找到答案”
#2
我是真找不到如何实现了.你那有答案?希望你解决!谢谢!
#3
现在的我要问的问题是:
如何做成,我勾选cbl1,那么对应的cbl101这一列(cbl101,cbl102...)全选,当然了,不勾cbl1对应的cbl101列就不全选.
现在已经可以很清晰的描述出需求
上面的话直接翻成代码就可以了 一点没有冗余
cbl1_slecded_change(){ //比如代表cb101的选择事件
cbl10{2,...n}.checked=cbl101.checked;
}
如何做成,我勾选cbl1,那么对应的cbl101这一列(cbl101,cbl102...)全选,当然了,不勾cbl1对应的cbl101列就不全选.
现在已经可以很清晰的描述出需求
上面的话直接翻成代码就可以了 一点没有冗余
cbl1_slecded_change(){ //比如代表cb101的选择事件
cbl10{2,...n}.checked=cbl101.checked;
}
#4
function checkAll(type,len,prefix)//prefix就相当于cb
{//type为类别,相当于cbl1 cbl2 cbl3 ,给cb11这样的添加点解事件
//len就是要多少个被选中或取消,cb301 。。。。
var isContinue = true;
for(var i = ; i<= len;i ++ )
{
var cBox = document.getElementById(prefix+(i++));
if(cBox)
{
cBox.checked = !cBox.checked;
}
else
{
break;
}
}
}
仅做参考
{//type为类别,相当于cbl1 cbl2 cbl3 ,给cb11这样的添加点解事件
//len就是要多少个被选中或取消,cb301 。。。。
var isContinue = true;
for(var i = ; i<= len;i ++ )
{
var cBox = document.getElementById(prefix+(i++));
if(cBox)
{
cBox.checked = !cBox.checked;
}
else
{
break;
}
}
}
仅做参考
#5
还是搞不定啊.
#6
我写的虽不怎么样?但可以实现.这个例子是你要的效果吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
function getRows(){
var objTab = document.getElementById("objTable");
var row = objTab.rows.length;
return row;
}
function cbSelect(objId){
var obj = document.getElementById(objId);
var objSty = objId.substring(3,4);
var row = getRows();
if(obj.checked){
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = true;
}
}else{
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = false;
}
}
}
</script>
</head>
<body onload="getRows()">
<table id="objTable">
<tr>
<td> <input type="checkbox" id="cbl1" onclick="cbSelect('cbl1')"/>全选A</td>
<td> <input type="checkbox" id="cbl2" onclick="cbSelect('cbl2')" />全选B</td>
<td> <input type="checkbox" id="cbl3" onclick="cbSelect('cbl3')" />全选C</td>
</tr>
<tr>
<td><input type="checkbox" id="cb101" /></td>
<td><input type="checkbox" id="cb201" /></td>
<td><input type="checkbox" id="cb301" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb102" /></td>
<td><input type="checkbox" id="cb202" /></td>
<td><input type="checkbox" id="cb302" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb103" /></td>
<td><input type="checkbox" id="cb203" /></td>
<td><input type="checkbox" id="cb303" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb104" /></td>
<td><input type="checkbox" id="cb204" /></td>
<td><input type="checkbox" id="cb304" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb105" /></td>
<td><input type="checkbox" id="cb205" /></td>
<td><input type="checkbox" id="cb305" /></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
function getRows(){
var objTab = document.getElementById("objTable");
var row = objTab.rows.length;
return row;
}
function cbSelect(objId){
var obj = document.getElementById(objId);
var objSty = objId.substring(3,4);
var row = getRows();
if(obj.checked){
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = true;
}
}else{
for(var i = 1;i<row;i++){
eval("cb"+objSty+"0"+i).checked = false;
}
}
}
</script>
</head>
<body onload="getRows()">
<table id="objTable">
<tr>
<td> <input type="checkbox" id="cbl1" onclick="cbSelect('cbl1')"/>全选A</td>
<td> <input type="checkbox" id="cbl2" onclick="cbSelect('cbl2')" />全选B</td>
<td> <input type="checkbox" id="cbl3" onclick="cbSelect('cbl3')" />全选C</td>
</tr>
<tr>
<td><input type="checkbox" id="cb101" /></td>
<td><input type="checkbox" id="cb201" /></td>
<td><input type="checkbox" id="cb301" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb102" /></td>
<td><input type="checkbox" id="cb202" /></td>
<td><input type="checkbox" id="cb302" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb103" /></td>
<td><input type="checkbox" id="cb203" /></td>
<td><input type="checkbox" id="cb303" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb104" /></td>
<td><input type="checkbox" id="cb204" /></td>
<td><input type="checkbox" id="cb304" /></td>
</tr>
<tr>
<td><input type="checkbox" id="cb105" /></td>
<td><input type="checkbox" id="cb205" /></td>
<td><input type="checkbox" id="cb305" /></td>
</tr>
</table>
</body>
</html>
#7
function checkAll(ele,len,preName)
{
for(var i=0;i<len;i++)
{
document.getElementById(preName+i).checked = ele.checked;
}
}
<input type="checkbox" id="cbl1" onclick="checkAll(this,5,'cb10')">
<input type="checkbox" id="cbl2" onclick="checkAll(this,5,'cb20')">
<input type="checkbox" id="cbl3" onclick="checkAll(this,5,'cb30')">
#8
夸张了吧
#9
这么简单.....的问题...
#10
function checkAllCheckBox(o){
var td=o.parentNode;
while(td.tagName!="TD"&&td.tagName!="TH"){
td=td.parentNode;
}
var table=td.parentNode;
while(table.tagName!="TABLE"){
table=table.parentNode;
}
var index=td.cellIndex;
for(var i=0;i<table.rows.length;i++){
var inp=table.rows[i].cells[index].childNodes[0];
while(inp.nodeType!=1){
inp=inp.nextSibling;
}
inp.checked=o.checked;
}
}
<table >
<tr>
<td><input type="checkbox" onclick="checkAllCheckBox(this);" />全选</td>
</tr>
<tr><td>><input type="checkbox" /></td></tr>
</table>
var td=o.parentNode;
while(td.tagName!="TD"&&td.tagName!="TH"){
td=td.parentNode;
}
var table=td.parentNode;
while(table.tagName!="TABLE"){
table=table.parentNode;
}
var index=td.cellIndex;
for(var i=0;i<table.rows.length;i++){
var inp=table.rows[i].cells[index].childNodes[0];
while(inp.nodeType!=1){
inp=inp.nextSibling;
}
inp.checked=o.checked;
}
}
<table >
<tr>
<td><input type="checkbox" onclick="checkAllCheckBox(this);" />全选</td>
</tr>
<tr><td>><input type="checkbox" /></td></tr>
</table>
#11
eval函数