Jquery 选中6时禁用复选框--在带有复选框组的页面上有多个表单
我在一个页面上有多个表单,每个表单中都有30个左右的复选框(表单的数量取决于用户上传)。我需要有它设置时,6个复选框被选中,其余的复选框组中,没有选中被禁用 我可以用一种非常简单的形式来解决这个问题,比如:Jquery 选中6时禁用复选框--在带有复选框组的页面上有多个表单,jquery,checkbox,Jquery,Checkbox,我在一个页面上有多个表单,每个表单中都有30个左右的复选框(表单的数量取决于用户上传)。我需要有它设置时,6个复选框被选中,其余的复选框组中,没有选中被禁用 我可以用一种非常简单的形式来解决这个问题,比如: $("input:checkbox").click(function() { var cbk = $("input:checkbox:checked").length >= 6; $("input:checkbox").not(":checked").at
$("input:checkbox").click(function() {
var cbk = $("input:checkbox:checked").length >= 6;
$("input:checkbox").not(":checked").attr("disabled",cbk);
});
但这最终会禁用所有表单的复选框。我一直试图找到不同的方法来解决这个问题,但运气不太好。非常感谢您的帮助。谢谢。请尝试以下方法:
$("input:checkbox").click(function() {
var frm = $(this).closest("form").attr("id");//getting the id of nearest form
var cbk = $("#" + frm + " input:checkbox:checked").length >= 6;
$("#" + frm + " input:checkbox").not(":checked").attr("disabled",cbk);
});
逻辑是:查找单击的复选框所在的表单。并将该表单用作过滤器
HTH@raja——def帮了大忙。为了使它工作,我必须在frm变量对上面的代码段进行更改之前添加“#”标记。非常感谢!