我对 jQuery Validation 插件有一个非常奇怪的问题,它不会验证select
预先填充然后修改的。
您可以在这里查看代码:http: //jsfiddle.net/VwRJ8/1/
代码从不触发alert()
以下几行:
$('#edit_loc_save').click(function() {
var foo = $('#add_new_loc_form').valid();
alert(foo);
});
我对 jQuery Validation 插件有一个非常奇怪的问题,它不会验证select
预先填充然后修改的。
您可以在这里查看代码:http: //jsfiddle.net/VwRJ8/1/
代码从不触发alert()
以下几行:
$('#edit_loc_save').click(function() {
var foo = $('#add_new_loc_form').valid();
alert(foo);
});
您可以在每次更改值时检查选择是否有效:
Javascript
$('#myform').validate();
$('#myselectbox').on('change', function() {
$(this).valid();
});
编辑 1
以下是导致 javascript 错误的原因,这会阻止 validate 函数正常运行:
new_loc_zip: {
required: true,
postalcode: true // This is not a correct setting in jquery validate
},
如果您删除该postalcode: true
行,验证将正确调用。
$('#myform').validate({
rules: {
myselectbox: {
required: true
}
}
});
$("#myselectbox").change(function() {
$("#myform").submit();
});
如果您想在更改选项时进行验证,请尝试处理选择选项的更改事件并以编程方式触发验证
尝试这样的事情
$(document).ready(function() {
$('#myselectbox').change(function() {
$('#myform').validate({
rules: {
myselectbox: {required: true }
}
}).form();
});
});
看小提琴:这里