请告诉我如何验证表单中的多个下拉列表,如果在不同的下拉列表中选择了相同的值,则应触发验证。
这里,如果我从下拉列表中选择相同的选项,它应该触发验证。 (我正在使用jquery验证引擎进行表单验证)
<select name="user[role_id]">
<option value="">Please select</option>
<option value="1" selected="selected">Administrator</option>
<option value="2">User</option>
<option value="3">Editor</option>
</select>
<select name="user[role_id]">
<option value="">Please select</option>
<option value="1" selected="selected">Administrator</option>
<option value="2">User</option>
<option value="3">Editor</option>
</select>
感谢
答案 0 :(得分:3)
最简单的方法是映射选择并寻找欺骗。有更好的算法来寻找欺骗(即,一旦检测到重复就退出),但我选择使用更短的代码,因为成本非常低:http://jsfiddle.net/rkw79/vqENk/
function HasDupe(){
a = $('select').map(function(i,o) {
return $(o).val();
});
return (a.length != $.unique(a).length);
}
答案 1 :(得分:0)
<select name="user[role_id]">
<option value="0">Please select</option>
<option value="1" selected="selected">Administrator</option>
<option value="2">User</option>
<option value="3">Editor</option>
</select>
<select name="user[role_id]">
<option value="0">Please select</option>
<option value="1" selected="selected">Administrator</option>
<option value="2">User</option>
<option value="3">Editor</option>
</select>
<script type="text/javascript">
$(document).ready(function(e){
if ($('select[name="user[role_id1]"]').val() == $('select[name="user[role_id2]"]').val()) {
alert('select different value');//validation msg
}
});
</script>