Javascript 选中“车身不工作”下的所有复选框
我不确定这个jquery为什么不起作用。我想要的非常简单:选中区域下的所有复选框。有人能告诉我为什么它不起作用吗Javascript 选中“车身不工作”下的所有复选框,javascript,jquery,html,checkbox,html-table,Javascript,Jquery,Html,Checkbox,Html Table,我不确定这个jquery为什么不起作用。我想要的非常简单:选中区域下的所有复选框。有人能告诉我为什么它不起作用吗 $(函数(){ $('.select_all').change(函数(){ var checkthis=$(this); var复选框=$(this).next('tbody').find('region_-ct'); if(checkthis.is(':checked')){ 复选框.attr('checked',true); }否则{ 复选框.attr('checked',fa
$(函数(){
$('.select_all').change(函数(){
var checkthis=$(this);
var复选框=$(this).next('tbody').find('region_-ct');
if(checkthis.is(':checked')){
复选框.attr('checked',true);
}否则{
复选框.attr('checked',false);}
});
});代码>
美洲
全选
阿根廷
巴巴多斯
亚洲
...
t车身
不是的sibing。选择所有
。您需要使用来选择的父项。选择\u all
并使用.find()
在其中选择.region\u ct
。另外,您不需要使用if/else
来选中/取消选中
复选框。仅使用.prop()
将this.checked设置为复选框的checked属性
$('.select_all')。更改(函数(){
$(this.closest('table').find('region_ct').prop('checked',this.checked));
});代码>
美洲
全选
阿根廷
巴巴多斯
亚洲
t车身
不是的sibing。选择所有
。您需要使用来选择的父项。选择\u all
并使用.find()
在其中选择.region\u ct
。另外,您不需要使用if/else
来选中/取消选中
复选框。仅使用.prop()
将this.checked设置为复选框的checked属性
$('.select_all')。更改(函数(){
$(this.closest('table').find('region_ct').prop('checked',this.checked));
});代码>
美洲
全选
阿根廷
巴巴多斯
亚洲
这里有几个问题:
我强烈建议不要将tr
和tbody
元素混用。如果您要使用t车身
(您应该这样做),请始终如一地使用它。浏览器可以将tr
元素重新定位到生成的tbody
元素中
您正在调用的next
元素没有以下同级(更不用说您正在寻找的同级了)。您必须向上遍历层次结构到tr
(如果您不修复#1)或tbody
(如果您修复)
您没有使用attr
设置已选中的,而是使用prop
;您可以使用现有的checked
布尔值,而不是if/else
,giving只是复选框.prop(“checked”,this.checked)代码>
更新了t正文
s的示例,我添加了亚洲地区的一些国家,以证明仅选中了相关复选框:
$(函数(){
$('.select_all').change(函数(){
var checkthis=$(this);
var复选框=$(this).closest('tbody').next().find('region_-ct');
复选框.prop(“选中”,this.checked);
});
});代码>
美洲
全选
阿根廷
巴巴多斯
亚洲
全选
中国
越南
这里有几个问题:
我强烈建议不要将tr
和tbody
元素混用。如果您要使用t车身
(您应该这样做),请始终如一地使用它。浏览器可以将tr
元素重新定位到生成的tbody
元素中
您正在调用的next
元素没有以下同级(更不用说您正在寻找的同级了)。您必须向上遍历层次结构到tr
(如果您不修复#1)或tbody
(如果您修复)
您没有使用attr
设置已选中的,而是使用prop
;您可以使用现有的checked
布尔值,而不是if/else
,giving只是复选框.prop(“checked”,this.checked)代码>
更新了t正文
s的示例,我添加了亚洲地区的一些国家,以证明仅选中了相关复选框:
$(函数(){
$('.select_all').change(函数(){
var checkthis=$(this);
var复选框=$(this).closest('tbody').next().find('region_-ct');
复选框.prop(“选中”,this.checked);
});
});代码>
美洲
全选
阿根廷
巴巴多斯
亚洲
全选
中国
越南
tbody
不是的下一个兄弟姐妹或兄弟姐妹。选择\u all
复选框哦,如果是,如何找到下一个tbody,就在选择\u alltbody
之后。选择\u all
复选框哦,如果是,如何找到下一个tbody,选择完后,我认为下一个对象的目标是在其他t主体s中有其他不相关的.region\u ct
框。我认为下一个对象的目标是有其他,不相关的。其他t正文中的区域\u ct
框。感谢您修复代码并进行解释!非常感谢!感谢您修复代码和解释!非常感谢!