2012-12-04 24 views
4

我只是試圖找到catcomplete的文檔。我需要手冊來了解如何使用_renderItem。我發現這個http://jqueryui.com/autocomplete/#categories,但似乎沒有關於剛剛提到的例子爲_renderMenucatcomplete的文檔

_renderMenu: function(ul, items) { 
     var that = this, 
      currentCategory = ""; 
     $.each(items, function(index, item) { 
      if (item.category != currentCategory) { 
       ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>"); 
       currentCategory = item.category; 
      } 
      that._renderItemData(ul, item); 
     }); 
    } 

回答

9

catcomplete只是一個例子,可惜不是jQuery用戶界面的一部分,因此對於_renderItemrenderMenu的文檔。把它看作是jQuery源代碼的一部分。但是,效果可以很容易地從源代碼中複製。

要使用catcomplete,我們需要簡單地確保既labelcategory值傳遞給catcomplete作爲證明:

var data = [ 
    { label: "anders", category: "" }, 
    { label: "andreas", category: "" }, 
    { label: "antal", category: "" }, 
    { label: "annhhx10", category: "Products"}, 
    { label: "annk K12", category: "Products" }, 
    { label: "annttop C13", category: "Products" }, 
    { label: "anders andersson", category: "People" }, 
    { label: "andreas andersson", category: "People" }, 
    { label: "andreas johnson", category: "People" } 
]; 

項目與一個空字符串作爲一個類別將不會被放到一個類別並保持與標準自動完成一樣。那些給定的類別將在該類別下進行子菜單。

Fiddle here


(jQuery的例子)一類添加到每一個項目,你可以簡單地追加.addClass(item.category)到代碼中catcomplete插件的最後一行的末尾:

that._renderItemData(ul, item).addClass(item.category); 

updated fiddle here

+0

謝謝,但我的問題是我想添加額外的類的項目,所以按類別名稱指定它(class ='ui-corne r-all People') –

+0

請看我的編輯:) – Elliott

+0

哈,的確,謝謝。猴子是我,不是你:) –