オートコンプリートが機能することを確認しました。
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");
リストから「EuropeanNightjar」を選択するか、同じものを入力すると、検証してtrueが返されるようにしました。そうでない場合は、「指定された請負業者が存在しません」というエラーメッセージが表示されます。
ただし、テキストボックスに無効なデータがあり、リストから選択すると、リストから選択する前に検証が行われるため、エラーが返されます。
リストから選択するときに検証を行う必要がないようにする方法はありますか?