如果您想阻止用户标记超过(例如)4个复选框,您可以使用:
$("input[type=checkbox][name=subculture]").click(function() {
var bol = $("input[type=checkbox][name=subculture]:checked").length >= 4;
$("input[type=checkbox][name=subculture]").not(":checked").attr("disabled",bol);
});
但如果我的复选框是一个像:
这样的数组<input type="checkbox" value="option1" id="attachments[29][subculture][]" name="attachments[29][subculture][]" />option1
<input type="checkbox" value="option2" id="attachments[29][subculture][]" name="attachments[29][subculture][]" />option2
<input type="checkbox" value="option3" id="attachments[29][subculture][]" name="attachments[29][subculture][]" />option3
...
如何修复上面的Jquery代码以验证类似的内容?
其中29是实际发布的帖子的ID。
提前致谢。
答案 0 :(得分:1)
你应该对这些类型的选择器使用双引号。这样做将允许您指定所需的名称。见下文或我的jsFiddle example:
$("input[type=checkbox][name=\"attachments[29][subculture][]\"]").click(function() {
var bol = $("input[type=checkbox][name=\"attachments[29][subculture][]\"]:checked").length >= 4;
$("input[type=checkbox][name=\"attachments[29][subculture][]\"]").not(":checked").attr("disabled",bol);
});
您拥有的另一个选项是为每个输入添加一个类,然后将其用作选择器。