Javascript 在自动完成中显示“未找到结果”
如果用户的搜索词与数据库中的任何结果不匹配,我需要显示未找到的结果。 我在这里问了很多问题,但没有一个对我有帮助Javascript 在自动完成中显示“未找到结果”,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,如果用户的搜索词与数据库中的任何结果不匹配,我需要显示未找到的结果。 我在这里问了很多问题,但没有一个对我有帮助 <script> $(function() { function log( message ) { $( "<div>" ).text( message ).prependTo( "#log" ); $( "#log" ).scrollTop( 0 ); } $( "#birds" ).autocomple
<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的数组时,它将填充输入字段,没有匹配项或任何您想要的内容
如果数据集足够小,可以从数据库中读取所有数据,然后进行自动完成
JS
什么是search.php?如果在开发工具中查看浏览器的“网络”选项卡,您会看到什么吗?这是jqueryUI,还是您正在使用的插件?@dave:我假设是jQuery UI,因为显示的代码只是示例页面中的代码:看看这些:而.search.php是处理搜索词的文件。
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;
}
}
}
});