2012-07-27 49 views
0

我对JavaScript的理解太有限,无法做到这一点。我看到这个解决方案是通过在这里重写_renderMenu与另一个jQuery插件:Limit the result in jQuery Autocomplete,但没有与jQuery UI插件。如何在jQuery UI自动完成上使用限制?覆盖菜单呈现自动完成以限制结果

jquery-ui.js我修改了这段代码来限制结果,但是我想离开库代码,只是在客户端代码中覆盖它。

_renderMenu: function(ul, items) { 
    var self = this; 
    $.each(items, function(index, item) { 
     self._renderItem(ul, item); 
    }); 
} 

建议-search.js:

  $("#global-search").autocomplete({ 
       source: response, 
       minLength: 1, 
       delay: 100, 
       select: function (event, ui) { 
        //bzzz 
       } 

      }).data("autocomplete")._renderItem = function(ul, item) { 

       var imgFilename = item.filename; 
       imgFilename = imgFilename.replace(/ /g,"_"); 

       return $("<li></li>") 
        .data("item.autocomplete", item) 
        .append('<a class="clearfix"><img src="http://localhost/img/' + imgFilename + '" width="40" height="63" />'+ 
          '<div class="ac-menu-item"><div><span class="ac-publish-title">' + item.title + '</span></div><div class="faded">'+item.year+'</div></div></a>') 
        .appendTo(ul); 

      } 

     } 

回答

1

最简单的将是你的源回调函数来限制它把返回的数组中的项目数。

+0

我们可能会奇怪为什么它不是一个提供的选项 – Ben 2017-09-21 10:18:03