所以情況是這樣的:試圖添加一個下拉框使用jquery.multiselect插件在當前使用jquery.validate插件,其他領域(文本輸入字段,具有float
值範圍的單個文本輸入)的所有當前驗證正確。如何使用jquery.Validate和jquery.multiselect下拉菜單?
當我嘗試添加驗證規則時,我無法獲取jquery.validate來驗證我的多選下拉列表。下面是我的代碼片段(所有假設需要的插件加載 - 請參閱下面的使用版本):
的HTML:
<form action="some/action" id="myForm" method="POST">
Input 1: <input type="text" value="" name="input1" maxlength="200" id="input1"><br/>
Input 2: <input type="text" value="" name="input2" maxlength="100" id="input2"><br/>
Input 3: <input type="text" value="" name="input3" maxlength="50" id="input3"><br/>
Select: <select class="someSelect" name="mySelect" id="mySelect" multiple="multiple">
<option value="some_val1">Some Value</option>
<option value="some_val2">Some Other Value</option>
</select>
<input type="submit" value="Submit" />
</form>
的JavaScript:
$(document).ready(function() {
$('#mySelect').multiselect({
noneSelectedText: 'Select Something (required)',
selectedList: 3,
classes: 'my-select'
});
$.validator.addMethod("needsSelection", function(value, element) {
return $(element).multiselect("getChecked").length > 0;
});
$.validator.addMethod("isPercent", function(value, element) {
return parseFloat(value) >= 0 && parseFloat(value) <= 100;
});
$.validator.messages.needsSelection = 'You gotta pick something.';
$.validator.messages.isPercent = 'Must be between 0% and 100%';
$('#myForm').validate({
rules: {
mySelect: "required needsSelection",
input1: "required isPercent",
input2: "required",
input3: "required"
},
errorClass: 'invalid'
});
});
版本 如果在版本之間存在兼容性的明確/已知問題,那麼我可能會升級德如果解決了這個問題,但我已經測試了使用最新版本的目的,它似乎沒有解決我的問題。
jQuery的:1.4.4
jquery.validate:1.9.0
jquery.multiselect:1.8
而且,一如既往,我可以提供更多的信息,其中可能/需要。
你真的幫了我! :) – 2012-06-29 19:20:36