限制数组复选框

时间:2011-04-08 20:22:37

标签: jquery

如果您想阻止用户标记超过(例如)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。

提前致谢。

1 个答案:

答案 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);
});

您拥有的另一个选项是为每个输入添加一个类,然后将其用作选择器。