Let*_*see 0 javascript jquery autocomplete jquery-validate
我对jquery不太满意,因此需要你的帮助.
我有一个表单,其中有两个字段"origin"和"destination".所以我在两个字段中使用jquery自动完成.
$('#form1_origin,#form1_destination').autocomplete({
lookup: countriesArray,
minChars: 0,
});
Run Code Online (Sandbox Code Playgroud)
它工作得很好但是当我尝试使用jquery验证插件验证这些字段时,我遇到了一些问题.
这是代码: -
$('#form_1').validate({
errorClass: "airError",
focusInvalid: true,
success: function(element){
$(element).closest('.airError').removeClass('.airError');
},
errorPlacement: function(error,element){
if(element.attr("name") === "form1_infant" || element.attr("name") === "form1_departure"){
error.insertAfter('#showErrors');
}else{
error.insertAfter(element);
}
},
rules: {
form1_origin: {
validSelectionOrigin: true,
},
form1_destination:{
validSelectionDestination: true,
compare_origin_dest: true
},
// rules for rest of the fields
},
});
Run Code Online (Sandbox Code Playgroud)
问题:-
我很确定jquery会验证onkeyup上的字段.所以,如果我TYPE在此字段中的值,它工作正常,但是当我选择从自动完成列表中的值,它不验证领域,因为我仍然可以看到正在显示的错误.那么我能做些什么来使它适用于两者?
引用OP:
"因为我很确定jquery会验证字段
onkeyup.所以如果我在此字段中输入值,它可以正常工作,但是当我从自动完成列表中选择值时,它不会验证字段,因为我仍然可以看到错误正在展示.那么我能做些什么来使它适用于两者?"
jQuery Validate插件input通过多个触发器来评估文本元素...按键,模糊和提交按钮单击(所有字段一次).
jQuery Validate插件还为您提供了以.valid()编程方式触发验证的方法.
我认为你没有显示足够的相关代码,但基本上,.valid()只要字段的值发生变化,你就需要触发.
根据需要调整代码......
$('input[name="autocompletedField]').on('change', function() {
$(this).valid(); // trigger validation test
});
Run Code Online (Sandbox Code Playgroud)