我有自动完成工作的验证。
http://skoizumi.com/autocomplete/index.html
var ac = $( "#searchtext" ).autocomplete({
source: "testdata.php",
minLength: 2,
select: function( event, ui ) {
console.log( '3');
},
close: function( event, ui ) {
console.log( 'closing.' );
}
});
jQuery.validator.addMethod("contractorName", function (value, element) {
var result = false;
var contractorName = $("#searchtext" ).val();
//validating the specified field has a valid name
$.ajax({
type: "GET",
url: "/autocomplete/return2.php",
async: false,
dataType: "json",
data: {
'searchtext': $( "#searchtext" ).val()
},
complete: function(test){
res = JSON.parse( test.responseText );
console.log( res );
result = res.result;
}
});
return result;
}, "Specified Contractor doesn't exist");
我这样做是为了当您从列表中选择“European Nightjar”或键入相同的内容时,它应该验证并返回 true,否则它应该显示一条错误消息,指出“指定的承包商不存在”。
但是,如果您在文本框中有无效数据并从列表中选择它会返回错误,因为验证发生在从列表中选择之前。
有没有办法在从列表中选择时不必进行验证?