当用户更改select选项输入时,我一直在尝试动态更改表单所需规则的消息。我似乎无法正常工作。选择更改后,消息永远不会改变。
我尝试使用选择输入的更改函数的方法,如下所示:
$('#selector').change(function(){
Method X;
}
我试过的方法:
$.validator.messages.required = "New Message";
$('#inputx').rules("remove", "required");
$('#inputx').rules("add", { messages: {required: "New Message"}});
我还尝试过一个依赖函数来处理消息,但这根本不起作用:
required: {
depends: function(element){
if($('#selector option:selected').text() == 'Option1'){
return "Message 1";
} else{
return "Message 2";
}
return;
}
}
即使在未聚焦#inputx元素
之后,错误消息也不会改变 编辑:我在onChange中做了一个不正确的条件语句。现在一切都很完美!答案 0 :(得分:1)
.rules('add')
方法对我来说很好......
$(document).ready(function () {
$('#myform').validate({
rules: {
test: {
required: true
},
myselect: {
required: true
}
}
});
$('select[name="myselect"]').on('change', function () {
if ($(this).val() == 1) {
$('input[name="test"]').rules('add', {
messages: {
required: "this is the new message"
}
});
}
});
});