jQuery / JavaScript 复选框显示多个和单个选择中选中的复选框的数量
jQuery / JavaScript checkbox display the number of checked checkboxes in multiple and single selection
请我想显示此代码中选中的复选框的数量。如果我选中全局复选框(全选(,并且当我选中每个复选框时。
这是我下面的代码。提前谢谢。
$(document).ready(function(){
$('#checkbox-global').click(function(){
$('.checkbox-group').prop('checked', $(this).is(':checked'));
if($(this).is(':checked'))
$('.loaded').show(1000);
else
$('.loaded').hide(1000);
});
$('.checkbox-group').change(function(){
$('#count').text($(".checkbox-group:checked").length); // Show Number of counts of checkboxes
var checkedLength = $('.checkbox-group:checked').length;
if(checkedLength > 0)
$('.loaded').show(1000);
else
$('.loaded').hide(1000);
});
}(;
<div class="loaded">RESTORE | DELETE</div>
<p id="count"></p>
<input type="checkbox" id="checkbox-global" class="checkbox-group">
<br>
<input type="checkbox" class="checkbox-group">
<input type="checkbox" class="checkbox-group">
<input type="checkbox" class="checkbox-group">
<input type="checkbox" class="checkbox-group">
<input type="checkbox" class="checkbox-group">
<input type="checkbox" class="checkbox-group">
<input type="checkbox" class="checkbox-group">
$(document).ready(function() {
$('#checkbox-global').click(function() {
$('.checkbox-group').prop('checked', $(this).is(':checked'));
if ($(this).is(':checked'))
$('.loaded').show(1000);
else
$('.loaded').hide(1000);
$(".checkbox-group").trigger("change");
});
$('.checkbox-group').change(function() {
$('#count').text($(".checkbox-group:checked").length); // Show Number of counts of checkboxes
var checkedLength = $('.checkbox-group:checked').length;
if (checkedLength > 0)
$('.loaded').show(1000);
else
$('.loaded').hide(1000);
});
});
只需添加触发事件,就像我添加到现有代码中一样。希望这对你有用!演示:http://jsfiddle.net/kb4rq36L/
试试这个:
function updateCheckedCount() {
$("#count").html($(".checkbox-group:not(#checkbox-global):checked").length);
}
$("#checkbox-global").on("change", function() {
if($(this).is(":checked")) {
$(".checkbox-group").attr("checked", "checked");
} else {
$(".checkbox-group").removeAttr("checked");
}
updateCheckedCount();
});
$(".checkbox-group").on("change", function() {
if(!$("#checkbox-global").is(":checked") && $(".checkbox-group:not(#checkbox-global)").length == $(".checkbox-group:not(#checkbox-global):checked").length) {
$("#checkbox-global").attr("checked", "checked");
}
updateCheckedCount();
});
updateCheckedCount();
这是一个想法,你应该优化这个代码。例如,最好更改 #checkbox 全局类复选框组,以避免在选择时发生冲突。
相关文章:
- 通过复选框选择形成填充
- jQuery根据相关复选框选择求和单元格
- 根据用户复选框选择显示或隐藏下拉框
- 复选框选择组合
- 如何根据角度中的复选框选择过滤结果
- 根据复选框选择 jQuery 更新文本框
- jquery选择复选框选择的值
- 复选框选择/取消选择触发器第一次工作,但在随后的尝试中失败
- 如何发布单选和复选框选择?表单由php和js处理
- 使用querySelectorAll进行的复选框选择不起作用
- 具有延迟的多个复选框选择以检查其他复选框更改
- 显示 jQuery 复选框选择
- 复选框选择似乎彼此不一致
- 一个变量,多个复选框选择/取消选择 jQuery
- 使用 Json 数据源在数据表中实现复选框选择
- 使用 Javascript 更新复选框选择时的输入字段
- 将复选框选择保留在多页分页中
- 在复选框选择后验证输入类型文本
- 如何根据 Javascript 中的复选框选择打开引导模式窗口
- 如何检测和获取 asp.net 中的复选框/选择框(html 标记)值