当取消选中任何一个子复选框时,我如何取消选中所有的checkbox(parent)!
从代码片段中选择所有复选框时,当我们从他们的用户中取消选中时,应取消选中所有复选框(因为没有选中所有复选框)
$(document).ready(function() {
$('#Admin').click(function() {
var checked = $(this).prop('checked');
$('#tab-10').find('input:checkbox').prop('checked', checked);
});
$('#Sales').click(function() {
var checked = $(this).prop('checked');
$('#tab-20').find('input:checkbox').prop('checked', checked);
});
// i have so may like this in that case how can i do that.?
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tab-10"> First </a></li>
<li class=""><a data-toggle="tab" href="#tab-20"> Second </a></li>
</ul>
<div class="tab-content vehicle">
<div id="tab-10" class="tab-pane active">
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" id="Admin"><b>Select All</b></label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" name="pages[]" value="2">Dealerships</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" name="pages[]" value="23">Users</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" name="pages[]" value="59">Third-Party Exports</label>
</div>
</div>
</div>
</div>
</div>
<br><br>
<div id="tab-20" class="tab-pane ">
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" id="Sales"/><b>Select All</b></label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" name="Second[]" value="2">Second tab 1</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label><input type="checkbox" name="Second[]" value="23">Second tab 1</label>
</div>
</div>
</div>
</div>
</div>
</div>
发布于 2017-11-01 06:01:13
实际上,您没有对您的问题进行任何编码(也就是说,当您取消选中任何复选框,而不是选择-所有,使选择-所有未选中)。
如下所示:-
$(document).ready(function() {
$('#Admin').click(function() {
var checked = $(this).prop('checked');
$('#tab-10').find('input:checkbox').prop('checked', checked);
});
$('#Sales').click(function() {
var checked = $(this).prop('checked');
$('#tab-20').find('input:checkbox').prop('checked', checked);
});
$('.tab-pane').find('input:checkbox:not(:first)').click(function() {
if (!$(this).is(':checked')) {
$(this).closest('.tab-pane').find('input:checkbox:first').prop('checked', false);
} else {
var checkbox_length = $(this).closest('.tab-pane').find('input:checkbox:not(:first)').length;
var checked_check_box_length = $(this).closest('.tab-pane').find('input:checkbox:not(:first):checked').length;
if (checkbox_length == checked_check_box_length) {
$(this).closest('.tab-pane').find('input:checkbox:first').prop('checked', true);
}
}
});
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tab-10"> First </a></li>
<li class=""><a data-toggle="tab" href="#tab-20"> Second </a></li>
</ul>
<div class="tab-content vehicle">
<div id="tab-10" class="tab-pane active">
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" id="Admin"><b>Select All</b></label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="pages[]" value="2">Dealerships</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="pages[]" value="23">Users</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="pages[]" value="59">Third-Party Exports</label>
</div>
</div>
</div>
</div>
</div>
<br>
<br>
<div id="tab-20" class="tab-pane ">
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" id="Sales" /><b>Select All</b></label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="Second[]" value="2">Second tab 1</label>
</div>
</div>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="Second[]" value="23">Second tab 1</label>
</div>
</div>
</div>
</div>
</div>
</div>
工作小提琴:- http://jsfiddle.net/am6rgdw1/
发布于 2017-11-01 06:18:26
将以下代码添加到js中:
$('input[name="pages[]"]').click(function(){
$('input[name="pages[]"]').each(function() {
var checked = $(this).attr('checked');
if(!checked){
$('#Admin').attr('checked', false);
return false;
}
});
});发布于 2017-11-01 10:15:41
对于Dynamic选项卡id,我确实如下所示:
这是我的html和php:
<div class="tab-content vehicle">
<?php $active='active'; foreach ( $check_menu as $y) {?>
<div id="tabs-<?=$y?>" class="tab-pane <?=$active?>">
<div class="panel-body">
<div class="row">
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" class="SelectAll_Dynamic" id="<?=$y?>" />
<b>Select All</b>
</label>
</div>
</div>
<?php foreach($menus as $x): if ($x['parent_id'] ==$y):?>
<div class="col-md-3">
<div class="checkbox">
<label>
<input type="checkbox" name="pages[]" value="<?=$x['id']?>"
<?php if (array_search($x['id'],$my_menu,true))
{
echo "checked ";
}
?>
><?=$x['name']?></label>
</div>
</div>
<?php endif; $active="";
endforeach;?>
</div></div>
</div>
<?php } ?>
</div>这是我的剧本:
<script>
$(document).ready(function() {
$('.SelectAll_Dynamic').click(function() {
var select_Id = this.id;
var checked = $(this).prop('checked');
$('#tabs-'+select_Id).find('input:checkbox').prop('checked', checked);
alert(select_Id);
});
$('.tab-pane').find('input:checkbox:not(:first)').click(function() {
if (!$(this).is(':checked')) {
$(this).closest('.tab-pane').find('input:checkbox:first').prop('checked', false);
} else {
var checkbox_length = $(this).closest('.tab-pane').find('input:checkbox:not(:first)').length;
var checked_check_box_length = $(this).closest('.tab-pane').find('input:checkbox:not(:first):checked').length;
if (checkbox_length == checked_check_box_length) {
$(this).closest('.tab-pane').find('input:checkbox:first').prop('checked', true);
}
}
});
});
</script>https://stackoverflow.com/questions/47049039
复制相似问题