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;
                                               }
                                       }
                                      }
});