Javascript 选中同一列中的所有复选框

Javascript 选中同一列中的所有复选框,javascript,jquery,gridview,checkbox,Javascript,Jquery,Gridview,Checkbox,我正在尝试实现类似的功能 我在一个表中有两个选择所有复选框,选择一个复选框将选择同一列的所有复选框 它是一个ASP.NET网格视图 有人能帮我吗?删除点击事件。而是把它和阶级联系起来 <input type="checkbox" value="" class="checkAll" data-class="class1" name="checkAll" id="ctl00_UserMasterContentPlaceHolder_grdUserDetails_ctl01_chkHeaderC

我正在尝试实现类似的功能

我在一个表中有两个选择所有复选框,选择一个复选框将选择同一列的所有复选框

它是一个ASP.NET网格视图


有人能帮我吗?

删除点击事件。而是把它和阶级联系起来

<input type="checkbox" value="" class="checkAll" data-class="class1" name="checkAll" id="ctl00_UserMasterContentPlaceHolder_grdUserDetails_ctl01_chkHeaderCheckbox"/>

删除单击事件。而是把它和阶级联系起来

<input type="checkbox" value="" class="checkAll" data-class="class1" name="checkAll" id="ctl00_UserMasterContentPlaceHolder_grdUserDetails_ctl01_chkHeaderCheckbox"/>

基本思想是选择单元格,获取索引,然后选择具有该索引的表的其他表单元格

$th输入[type='checkbox'].onchange,函数{ var cb=$this,//已更改的复选框 th=cb.parent,//获取父项th col=th.index+1;//获取列索引。注意,第n个子项从1开始,而不是从零开始 $tbody td:nth child+col+input.propchecked,this.checked;//选择输入并[un]检查 }; th{背景色:CCC;}
基本思想是选择单元格,获取索引,然后选择具有该索引的表的其他表单元格

$th输入[type='checkbox'].onchange,函数{ var cb=$this,//已更改的复选框 th=cb.parent,//获取父项th col=th.index+1;//获取列索引。注意,第n个子项从1开始,而不是从零开始 $tbody td:nth child+col+input.propchecked,this.checked;//选择输入并[un]检查 }; th{背景色:CCC;} 那么@epascarello所说的可能更好

我只是有一个小建议,那就是从同一个表中查找复选框,否则它将最终选择页面所有表中的复选框:

函数SelectAllobj{ //查找列的索引 var table=$obj.closest'table';//查找当前表 var th_s=table.find'th';//查找/获取当前表的所有 var current_th=$obj.closest'th';//获取当前值 //n的值是1索引的,这意味着计数从1开始 var columnIndex=th_s.indexcurrent_th+1;//在的列表中查找当前的索引 console.log'The Column is='+columnIndex;//打印用于测试的索引 //从同一表的同一列索引中选择所有复选框 table.find'td:nth child'+columnIndex+'input'.propchecked,obj.checked; } 名称 是活跃的 约翰 提姆 另一张桌子 名称 是活跃的 约翰 提姆 那么@epascarello所说的可能更好

我只是有一个小建议,那就是从同一个表中查找复选框,否则它将最终选择页面所有表中的复选框:

函数SelectAllobj{ //查找列的索引 var table=$obj.closest'table';//查找当前表 var th_s=table.find'th';//查找/获取当前表的所有 var current_th=$obj.closest'th';//获取当前值 //n的值是1索引的,这意味着计数从1开始 var columnIndex=th_s.indexcurrent_th+1;//在的列表中查找当前的索引 console.log'The Column is='+columnIndex;//打印用于测试的索引 //从同一表的同一列索引中选择所有复选框 table.find'td:nth child'+columnIndex+'input'.propchecked,obj.checked; } 名称 是活跃的 约翰 提姆 另一张桌子 名称 是活跃的 约翰 提姆
obj是被选中的复选框吗?这里没有提及任何内容是@epascarello。obj是勾选的复选框是obj是勾选的复选框吗?这里没有提及任何内容Yes@epascarello。obj是选中的复选框。我试图写$tbody td:nth child+col+input.propchecked,obj.checked;从这个答案,但得到语法错误。我现在拿到了,谢谢。我试图写$tbody td:nth child+col+input.propchecked,obj.checked;从这个答案,但得到语法错误。我现在明白了。
<input type="checkbox" value="" class="class1" />
$(".checkAll").click(function () {
     var datacls = $(this).attr('data-class');
     $('input:checkbox.'+datacls).not(this).prop('checked', this.checked);
});