2009-06-29 101 views
4

這是我第一次發佈在這裏的stackoverflow和我非常感動的網站!jQuery驗證插件minLength的複選框

我的問題是關於jQuery驗證插件...專門關於minLength方法。 我有一組複選框,我想知道是否至少有2個框被選中。

http://docs.jquery.com/Plugins/Validation/Methods/minlength#length

在這個環節

存在有關的minLength方法的文檔都與常規的輸入框使用,而不是一個複選框。任何人都可以幫助我如何使用複選框?

由於提前,
伊恩·麥卡洛

回答

2

沒有默認的方法。幸運的是你可以添加它。

jQuery.validator.addMethod('has2selected',function(value, element) { 
return $(element).filter(':checked').length >= 2; 
}, 'the error message'); 

編輯:我再次閱讀文檔和應MINLENGTH工作(如果不是上面的代碼可以使工作的情況下)。你沒有發佈代碼,所以我不知道這是否導致錯誤,但在你的文章是minLength它必須是最小長度

0

這不是複選框可用。它所指的「長度」的概念是字符串長度。您需要製作一個custom validation method以獲得您想要的行爲,或者可以使用dependency expressions in required做一些特別的事情。

karim79的回答是您需要將自定義驗證方法放入的開始。 (條件,而不是警告。)

+0

@我發佈在我的帖子中的鏈接指出...「適用於文本輸入,選擇和複選框。」 – 2009-06-29 20:37:42

1

我不知道的jQuery驗證插件,但我想你可以這樣做:

if($('.myCheckBoxes :checked').length > 2) { 
    alert('at least two have been checked'); 
} 

假設您的複選框具有類myCheckBoxes

或類似的東西:

if($("input[type='checkbox'] :checked").length > 2) { 
    alert('at least two have been checked'); 
}