Javascript 如何取消选中jquery中最近的标题复选框-具有相同类的多行中的多标题
如何在jquery中取消选中最近的标题复选框。不同行中有多个标题,取消选中所有子复选框时,需要取消选中标题中的复选框 标题复选框在类“jq\u id theaderedit”中,子复选框在类“jq\u border\u label”中 1-在子复选框更改事件中,如何检查“jq_border_label”类中的所有子复选框是否未选中 2-如果所有子复选框都已取消选中,则取消选中最近类“jq_id theaderedit”中的标题 这就是桌子的样子Javascript 如何取消选中jquery中最近的标题复选框-具有相同类的多行中的多标题,javascript,jquery,html,asp.net,Javascript,Jquery,Html,Asp.net,如何在jquery中取消选中最近的标题复选框。不同行中有多个标题,取消选中所有子复选框时,需要取消选中标题中的复选框 标题复选框在类“jq\u id theaderedit”中,子复选框在类“jq\u border\u label”中 1-在子复选框更改事件中,如何检查“jq_border_label”类中的所有子复选框是否未选中 2-如果所有子复选框都已取消选中,则取消选中最近类“jq_id theaderedit”中的标题 这就是桌子的样子 <tbody>
<tbody>
<tr class="jq_idtHeaderRow"></tr>
<tr class="jq_idtListRow"></tr>
<tr class="jq_idtHeaderRow"></tr>
<tr class="jq_idtListRow">
<td class="jq_idtContentEdit" valign="top" colspan="6">
<table>
<tbody>
<tr>
<td class="jq_idtContentEdit"></td>
<td class="jq_idtContentEdit"></td>
<td class="jq_idtContentEdit"></td>
</tr>
我准备了以下示例演示,下面是js fiddle链接:
我想你可以用这个作为解决问题的参考,因为你没有提供小提琴来解决你的问题
Fiddle显示,即使只选中了一个复选框,标题复选框也是复选框,如果没有选中任何子复选框,则标题复选框是取消选中的
如果您只想在选中所有子复选框时选中复选框,那么下面是您可以使用的代码
$('.chkChildHeader').on('change', function () {
var length = $('.jq_border_label > input[type="checkbox"]').length;
var checkedNum = $('.jq_border_label > input[type="checkbox"]:checked').length;
if (length === checkedNum) {
$(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', true);
}
if (!checkedNum) {
$(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', false);
}
});
下面是小提琴链接:
请为此发布一篇文章。您完全可以使用JQuery的选择器来完成这项工作,但我认为,如果您在标题中添加一个唯一的id元素,并将行与每个标题相关联,那么维护起来就会容易得多。这将保持逻辑完整,即使表结构有所变化。
var jqo = $(this);
if ($(jqo).closest('.jq_border_label').find('input[type=checkbox]').prop('checked').length > 0) {
alert('at least one ticked');
}
$('.chkChildHeader').on('change', function () {
var checkedNum = $('.jq_border_label > input[type="checkbox"]:checked').length;
if (checkedNum > 0) {
$(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', true);
} else {
$(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', false);
}
});
$('.chkChildHeader').on('change', function () {
var length = $('.jq_border_label > input[type="checkbox"]').length;
var checkedNum = $('.jq_border_label > input[type="checkbox"]:checked').length;
if (length === checkedNum) {
$(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', true);
}
if (!checkedNum) {
$(this).closest('.jq_idtHeaderEdit').find('.chkBoxHeader').prop('checked', false);
}
});