1

我有一个验证方法,可以从页面上的所有检查列表中计数,但我只想从两个下拉列表之一中计数。

清单:

$("#s1").dropdownchecklist({ emptyText: "Please select at least one...", width: 300, maxDropHeight: 200 });

方法:

        jQuery.validator.addMethod("categoryCount", function(value, element) {
            var count = 0;
            var n = $("input:checked").length;
            alert("category Count was called: " + n);                       
            return !(count>3);
        }, "Choose less than 3.");

我知道问题出在方法的第三行,

$("input:checked").length;

但我如何让它做我想做的事?

感谢您提供的任何帮助。

4

2 回答 2

1

您使用以下代码来查找选中的项目:var n = $("input:checked").length;。如果您想将搜索限制在特定项目,有几种方法可以解决这个问题。

一种方法是将项目包含在<div class='enclosure'>标签中。然后
var n = $("input:checked").length;
改为
var n = $('.enclosure').find('input:checked').length;

于 2012-05-17T14:48:27.837 回答
0

我是 JS 的新手,所以我更愿意把它放在评论中,但我还没有代表这样做,所以我会在这里发布。我注意到这个网站上的其他人使用

$('input[type="checkbox"]').length 

代替

     var n = $("input:checked").length;

这可能是错误的原因。

于 2012-05-17T14:53:49.327 回答