我已经在我的一个Web应用程序中使用了“ https://jqueryui.com/autocomplete/”。使用此插件,我想显示从JSON响应中提取的所有可能结果,但是我无法做到这一点。
在我的应用程序中,我正在使用Melissa的API从Melissa获取地址,以使地址自动完成。我使用“ https://jqueryui.com/autocomplete/”来自动完成。如果用户按下至少1个空格,我将调用Mellissa的自动完成API。但是我无法显示该列表,但是如果我在空格后添加任何单个字符,则可以正确获取自动完成UI。
var stringLength = hasWhiteSpace(address);
if(stringLength){
var url = "https://expressentry.melissadata.net/web/ExpressFreeForm";
url += '?' + $.param({
'id': "***********",
'ff' : $(this).val(),
'format': "json",
'maxrecords':4
});
$.each( data.Results, function( key, val ) {
var addressId = val.Address.AddressKey;
var addressData = val.Address.AddressLine1 + ', ' + val.Address.City + ', ' + val.Address.State + ', ' + val.Address.PostalCode;
addressArray.push(addressData);
});
$( "#deliveryStreetAddress" ).autocomplete({
source: addressArray
});
}
如果我在空格后添加至少1个字符,则上面的代码会生成正确的UI,以实现自动完成,否则它将不起作用。例如如果我键入“ 36th”,那么我可以得到一个地址数组,但它不会在UI中呈现,但是如果我键入“ 36tha”,那么我就可以得到一个地址数组,并且列表也被呈现在用户界面中。有人可以帮我怎么做吗?