我有一个下拉列表
$.validator.addMethod("ddlNames", function (value) {
if ($("#NameList.val()=="-1")
{
return false;
}
else
{
return true;
}
}, "Please select a valid Name");
此验证正常。但是当我更改下拉值(有效选择)时,错误消息先前显示其stil显示。请任何人帮帮我吗?
谢谢
答案 0 :(得分:1)
更改下拉列表时,需要以编程方式调用验证。 例如。如果您有:YOUR_FORM验证。将变量分配给validate方法。 然后在下拉列表的更改事件中使用.form()调用它。
文档:http://jqueryvalidation.org/Validator.form/
示例代码:
$('#ddlNames').change(function() {
form_validator.form();
});
var form_validator = $("#YOUR_FORM").validate({
ignore: "",
rules: {
firstname: {
required: true,
minlength: 2
},
...
答案 1 :(得分:0)
在document.ready中,您需要添加另一行(替换:#< targetform>与您的表单):
$('#<targetform>').validate({
rules : {
names : { ddlNames: true }
}
});
确保class="required"
<select>
你不应该自己清除它们,但有办法......:
$("#NameList").removeClass("error").addClass("valid");
或
$.validator.resetForm();
这将确保您每次都开始有效。