2012-07-27 73 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