如果用户的搜索字词与数据库中的任何结果不匹配,则需要显示未找到的结果。 我在这里经历了各种各样的问题,但没有人帮助过我。
<script>
$(function() {
function log( message ) {
$( "<div>" ).text( message ).prependTo( "#log" );
$( "#log" ).scrollTop( 0 );
}
$( "#birds" ).autocomplete({
source: "search.php",
minLength: 2,
select: function( event, ui ) {
log( ui.item ? "Selected: " + ui.item.value + " aka " + ui.item.label :
"Nothing selected, input was " + this.actor );
window.location.href = './company.php?id=' + ui.item.indexid + '&name=' + ui.item.label;
}
});
});
</script>
任何建议都会有所帮助。
答案 0 :(得分:1)
这是一个FIDDLE,您可以在其中循环返回&#34;响应中的返回数据:&#34;当你得到一个长度== 0的数组时,它用&#34填充输入字段;没有匹配&#34;或者你想要的任何其他东西。
只是想出一个想法,如果数据集足够小,你可以从数据库中读取所有数据,然后进行自动完成。
JS
var areas = ['california', 'nevada', 'oregon', 'utah', 'arizona', 'new mexico', 'minnesota', 'texas', 'louisiana', 'alabama', 'mississippi', 'oklahoma'];
$('.autocomp').autocomplete({
autoFocus : true,
source : areas,
selectFirst : true,
response: function( event, ui ) {
var count = 0;
console.log( ui.content.length );
for (var n=0; n < ui.content.length + 1; n++)
{
if( ui.content.length == 0 )
{
$('.autocomp').val('No results');
} else {
count = count+1;
}
}
}
});