我有一个使用 JQuery 验证插件的表单。
<label>
<input name="Distribution[]" type="checkbox" id="dist_europe" class="required minlength:1" value="Europe" /> Europe
</label>
<select name="Europe[]" size="5" multiple id="Europe">
<option value='Albania'>Albania</option>
<option value='Andorra'>Andorra</option>
<option value='Austria'>Austria</option>
</select>
我需要进行“条件”验证。 例如。如果复选框被选中,请确保在“选择选项已选中”中至少有一项。
$(document).ready(function(){
$("#commentForm").validate({
rules: {
Europe: {
required: "#dist_europe:checked",
minlength: 1
}
},
messages: {
Europe: "Please select at least 1 country"
}
}
})
我现在面临的问题是:
- 我能够检测到该复选框已被选中。
- 但是,我无法检查“选择”数组,Europe[]
- 如果我删除数组并将其命名为 Europe,我将能够检测到至少选择了一项。但是,这样做将意味着后端 PHP 脚本将无法处理数组中的多重选择。
我该如何解决这个问题?谢谢
最佳答案
当使用像 name="Europe[]"
这样的名称时,您需要使用字符串作为标识符(标识符是名称,而不是id 元素)在 rules
和 messages
中,像这样:
$(document).ready(function(){
$("#commentForm").validate({
rules: {
'Europe[]': {
required: "#dist_europe:checked",
minlength: 1
}
},
messages: {
'Europe[]': "Please select at least 1 country"
},
debug: true
});
});
关于javascript - JQuery 验证 : How to check items in multiple select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3916669/