我正在尝试做以下事情:
如果没有选中复选框,我无法弄清楚第二部分。这是我的代码:
$("input[type='checkbox'].checkbox").change(function(){
var a = $("input[type='checkbox'].checkbox");
if (a.length == a.filter(":checked").length){
$('.button').on('click',function(){
// do something, no issue here
});
} else {
// do something else, can't figure this out
}
});
答案 0 :(得分:3)
HTML:
<input type='checkbox' id="1" />
<br />
<input type='checkbox' id="2" />
<br />
<button id="btn">Click</button>
JQuery的:
$("#btn").click(function() {
// GET ALL TOTAL CHECKED CHECKBOXES
var total_checked = $('input[type="checkbox"]:checked').length;
// TOTAL CHECK BOXES
var total_boxes = $('input[type="checkbox"]').length
if(total_checked === total_boxes) {
alert('Checked All');
} else {
alert('Please select all check boxes'); return false;
}
});
小提琴:http://jsfiddle.net/A9MBS/1/
建议:用户点击1个特定复选框后,动态选择所有
$('input[type="checkbox"]').click(function() {
if($(this).is(':checked')) {
$('input[type="checkbox"]').prop('checked', true);
} else {
$('input[type="checkbox"]').prop('checked', false);
}
});
答案 1 :(得分:1)
检查单击处理程序中是否选中了框,不要根据选中的框附加单击处理程序:
$('.button').on('click',function(){
var boxes = $('.checkbox[type="checkbox"]');
if ( boxes.length === boxes.filter(':checked').length ) {
// all checked
}else{
// not all checked
}
});
答案 2 :(得分:1)
单击按钮时,应检查是否选中了所有复选框
$('.button').on('click',function(){
var a = $("input[type='checkbox'].checkbox");
if(a.length == a.filter(":checked").length){
// do something, no issue here
}
else {
// do alert thingy
}
});
答案 3 :(得分:0)
你可以试试这个 html
<input type='checkbox' name="chkb" />
<input type='checkbox' name="chkb" />
<button id="btn">Click</button>
脚本代码
$(document).ready(function(){
$('#btn').on('click',function(){
if($('input[type="checkbox"]:not(:checked)').length>0)
alert("please select all checkboxes");
});
});
此代码检查是否未在单个选择器中选中所有复选框