我到处寻找(但也许我错过了什么)
我目前正在创建一个人们有3种选择的网站。
让我们轻松一点,1,2和3。
现在,客户想要一种技术,在您点击第三个复选框后(无论以哪种方式,您可以从1到3然后是2,或3,1再然后2)都会出现一个警告弹出窗口。
现在我到处都看,但我找不到它。 希望有人可以帮助我。
Thanx已经。
答案 0 :(得分:7)
这应该有效,我想:
$('input:checkbox').change(
function(){
if ($('input:checkbox:checked').length == $('input:checkbox').length){
alert('All checkboxes are checked!');
}
});
已编辑以回应mblase75的(准确)评论(下方):
当然,如果页面上有任何其他复选框,这将无效,但可以通过向正在监控的三个复选框添加一个类并轻松选择它来轻松解决。
上述内容可以很容易地适用于单个元素的子元素,无论页面上有多少元素:
$('input:checkbox').change(
function() {
var $formElement = $(this).closest('form');
if($formElement.find('input:checkbox:checked').length == $formElement.find('input:checkbox').length) {
alert('All checkboxes are checked!');
}
});
修改$formElement = $(this).closest('form');
变量分配以选择其他元素div
,fieldset
或者任何其他元素,只允许您定位该给定元素中的复选框。
参考文献:
答案 1 :(得分:0)
$("#cb1,#cb2,#cb3").change(function() {
if ($("#cb1").prop("checked") && $("#cb2").prop("checked") && $("#cb3").prop("checked")) {
alert("all three checked");
};
});
答案 2 :(得分:0)
你可以做到
$('.yourchexkoboxes').click(function(){
var $chkboxs = $('.yourchexkoboxes').length;
var $CheckedChkboxs = $('.yourchexkoboxes:checked').length;
if($chkboxs === $CheckedChkboxs){
//all checkobexes have been checked
}
});