【发布时间】:2015-01-09 15:26:04
【问题描述】:
我一直很难弄清楚这些代码。
复选框代码功能如下:
有一个全局复选框(全选)和子(单个)复选框。如果选中(全局)复选框,则所有(子)复选框也将被选中,将显示一个 div,如果未选中全局,则取消选中(子)复选框并且 div 将隐藏(jquery hide并展示)。将显示选中复选框的编号。
这就是问题所在;如果子复选框未选中,则全局复选框仍处于选中状态,如果选中所有子复选框,则全局复选框也应立即选中。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
<div id="mydiv" style="display:none;">RESTORE | DELETE
<span>Checked: </span>
<span id="counter"></span>
</div>
<input type="checkbox" id="global">
<br>
<input type="checkbox" class="child">
<input type="checkbox" class="child">
<input type="checkbox" class="child">
<input type="checkbox" class="child">
<input type="checkbox" class="child">
<input type="checkbox" class="child">
<input type="checkbox" class="child">
$(document).ready(function() {
$('#global').click(function() {
$('.child').prop('checked', $(this).is(':checked'));
if ($(this).is(':checked'))
$('#mydiv').show();
else
$('#mydiv').hide();
count();
});
$('.child').change(function() {
var checkedLength = $('.child:checked').length;
if (checkedLength > 0)
$('#mydiv').show();
else
$('#mydiv').hide();
count();
});
});
var count = function() {
var i = $('input.child:checked').length;
$('#counter').html(i);
}
感谢所有支持。 提前致谢。
【问题讨论】:
-
这属于 codereview.stackexchange.com
-
这段代码有什么问题?
-
@DanielA.White 标题的意思是,我怎样才能改进这段代码,让它像我想要的那样工作。有问题。
-
@Daniel @ Rory McCrossan @ Hacketo 抱歉我发布它的方式,我的意思是,我如何纠正上面解释的全局和子复选框的错误
-
您可以更改问题的标题吗?这是误导。
标签: javascript jquery html checkbox