小编Sco*_*ont的帖子

检测jQuery UI自动完成没有结果

在你指出我之前,是的,我已经回顾了关于这个主题的六个帖子,但我仍然因为这不起作用而受到阻碍.

我的目标是检测自动完成何时产生0结果.这是代码:

 $.ajax({
   url:'sample_list.foo2',
   type: 'get',
   success: function(data, textStatus, XMLHttpRequest) {
      var suggestions=data.split(",");

  $("#entitySearch").autocomplete({ 
    source: suggestions,
    minLength: 3,
    select: function(e, ui) {  
     entityAdd(ui.item.value);
     },
    open: function(e, ui) { 
     console.log($(".ui-autocomplete li").size());
     },
    search: function(e,ui) {
     console.log("search returned: " + $(".ui-autocomplete li").size());

    },
    close: function(e,ui) {  
     console.log("on close" +  $(".ui-autocomplete li").size());    
     $("#entitySearch").val("");
    }
   }); 

  $("#entitySearch").autocomplete("result", function(event, data) {

   if (!data) { alert('nothing found!'); }

  })
 }
}); 
Run Code Online (Sandbox Code Playgroud)

搜索本身工作正常,我可以得到没有问题的结果.据我了解,我应该能够使用自动完成("结果")处理程序拦截结果.在这种情况下,它根本不会发射.(即使是不引用结果数量的通用警报或console.log也不会触发).open事件处理程序显示正确的结果数(当有结果时),search和close事件处理程序报告结果总是落后一步.

我觉得我错过了一些显而易见的东西,但我只是看不到它.

ajax jquery jquery-ui jquery-ui-autocomplete

88
推荐指数
2
解决办法
9万
查看次数

标签 统计

ajax ×1

jquery ×1

jquery-ui ×1

jquery-ui-autocomplete ×1