首页 新闻 会员 周边

在一个页面中做js 的全选,而不影响别的全选,该怎么做,请指教,,急等谢谢

0
[已解决问题] 解决于 2010-07-26 15:17

在一个页面中做js 的全选,而不影响别的全选,该怎么做,请指教,,急等谢谢

 

 <tr>
                                    <td class="td1" style="height: 24px; width: 20%">
                                        教师组:
                                       <input type="checkbox" id="cbTAll"   />全选
                                    </td>
                                    <td class="td1" style="height: 24px; width: 60%">
                                       <asp:CheckBoxList ID="cbTeacher" runat="server" DataTextField="ClassName" DataValueField="Id" name="cbTeacher"
                                        RepeatDirection="Horizontal" RepeatColumns="3">
                                    </asp:CheckBoxList>
                                   
                                    </td>
                                </tr>
                                <tr>
                                    <td class="td1" style="height: 24px; width: 20%">
                                        学生组:
                                        <input type="checkbox" id="cbSAll"  />全选
                                    </td>
                                    <td class="td1" style="height: 24px; width: 60%">
                                       <asp:CheckBoxList ID="cbStudent" runat="server" DataTextField="ClassName" DataValueField="Id" name="cbStudent"
                                        RepeatDirection="Horizontal" RepeatColumns="3">
                                    </asp:CheckBoxList>
                                    </td>
                                </tr>

 

 

lovemc的主页 lovemc | 初学一级 | 园豆:13
提问于:2010-07-26 09:59
< >
分享
最佳答案
0

如果你会jquery的话就很简单了,

$(document).ready(function(){

  $('#cbTAll').bind("click",function(){

  $("input[name='cbTeacher']").each(function(i,obj){

      $(obj).attr("checked",$("#cbTAll").attr("checked"));

    })

  })

 

  $('#cbSAll').bind("click",function(){

  $("input[name='cbStudent']").each(function(i,obj){

      $(obj).attr("checked",$("#cbSAll").attr("checked"));

    })

  })

 

})

天山 | 初学一级 |园豆:135 | 2010-07-26 11:26
最后我在后台处理了。。。。没有使用js,谢谢大家
lovemc | 园豆:13 (初学一级) | 2010-07-26 15:16
其他回答(2)
0

每一个CheckBoxList组成生成客户端ID前掇都不一样,可以通过JS遍历ID名称是否包含当前组的。

Astar | 园豆:40805 (高人七级) | 2010-07-26 10:15
怎么判断是否包含...当前组是指的什么。。。请问
支持(0) 反对(0) lovemc | 园豆:13 (初学一级) | 2010-07-26 10:38
@lovemc:你查看客户端生成的HTML源码,分析一个CheckBoxList生成的共同点。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-07-26 10:40
0

因为很多table中的第一列都是放checkbox,以进行复选,我就自己写了这么一个函数,希望对你有用.

代码
//取得某个元素下过滤后的CheckBox,无fun参数则取得所有checkbox
//id:元素id或元素节点
//fun:参数chk-CheckBox元素,返回值-仅当返回true时才取得该CheckBox
function getCheckBoxesByFliterFun(id, fun){
if(typeof id == 'string')
id
= document.getElementById(id);
var els
= id.getElementsByTagName('input');
if(typeof fun == 'undefined'){
fun
= function(){return true};
}
var result
= [];
for(var i=0, len=els.length; i<len; i++){
var el
= els[i];
if(el.type == 'checkbox' && fun(el) === true){
result.push(el);
}
}
return result;
}

//比如,取得id为'GV_Infos'节点下的所有已勾选的checkbox。当然,还可以在第二个参数(函数)的代码体中对checkbox进行操作、过滤等
var selChks = getCheckBoxesByFliterFun('GV_Infos',function(c){return !!c.checked });

 

水无声 | 园豆:92 (初学一级) | 2010-07-26 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册