大家好,所以我有以下问题。
我为自己制作了以下自动填充功能,当用户输入invalid city
以显示在文本框"no match found"
或"no city found"
等下时,我想要这样做。
这是我的Jquery。
(P.S。)我需要它在没有任何自动完成插件等的情况下工作。
$('.form-control').keyup(function(e){
e.preventDefault();
$.ajax({
method: "GET",
url: "https://api.teleport.org/api/cities?search=" + $('.form-control').val(),
}) .done(function(data){
if(typeof data._embedded["city:search-results"][0] === 'undefined') {
$('#datalist').append('Please select a valid value.');
} else {
console.log(data._embedded["city:search-results"][0].matching_full_name);
$('option:eq(0)').remove();
$('#datalist').append('<option value="' + data._embedded["city:search-results"][0].matching_full_name + '">');
}
});
});
答案 0 :(得分:2)
这是你想要实现的目标吗?
$('.form-control').keyup (function (e) {
e.preventDefault ();
$.ajax ( {
method: "GET",
url: "https://api.teleport.org/api/cities?search=" + $('.form-control').val (),
} )
.done ( function(data){
if(typeof data._embedded["city:search-results"][0] === 'undefined') {
$('#datalist').html ('');
$('#datalist').html ('No Match Found');
}
else {
console.log (data._embedded["city:search-results"][0].matching_full_name);
$('#datalist').html ('');
$('option:eq(0)').remove ();
$('#datalist').html ('<option value="' + data._embedded["city:search-results"][0].matching_full_name + '">' + data._embedded["city:search-results"][0].matching_full_name + '</option>');
}
});
});