2017-01-25 21 views
0

我很抱歉重複提問已經存在。 我的問題是過濾,我需要或隱藏某些類別的類別, 這裏是我的數組如何過濾自動完成jQuery的類別

var data = [ 
    { label: "London", category: "Area" }, 
    { label: "Muenchen", category: "Area" }, 
    { label: "North London", category: "City" }, 
    { label: "East London", category: "City" }, 
    { label: "West London", category: "City" }, 
    { label: "South London", category: "City" }, 
    { label: "Lorem London", category: "Hotel Name" }, 
    { label: "Ipsum East London", category: "Hotel Name" }, 
    { label: "Hello Hotel", category: "Hotel Name" }, 
    { label: "Mega Hotel London", category: "Hotel Name" } 
]; 

和我的輸出

enter image description here

我想隱藏類別「城市」。如何創建它?任何建議?

這裏是我的源代碼https://jsfiddle.net/dedi_wibisono17/ae5wk1ex/2/ 非常感謝您

+0

你爲什麼要 「隱藏」?刪除這些行更簡單。 – eapo

+0

hi @eapo 實際上數據存在於API中,數據相當多,我只顯示它的一部分。這就是爲什麼我沒有刪除它的原因 –

回答

2

可以實現通過使用grep輕鬆過濾陣列所需的結果。參考: http://api.jquery.com/jquery.grep/

例:

var filteredData = $.grep(items, function(item,index) { 
    return item.category !== 'City'; 
}); 
// original code below + change to reference grep'd array 
$.each(filteredData, function(index, item) { 
    var li; 
    if (item.category != currentCategory) { 
     ul.append("<li class='auto-complete'>" + item.category + "</li>"); 
     currentCategory = item.category; //buat category 
    } 
    li = that._renderItemData(ul, item); 
    if (item.category) { 
     li.attr("aria-label", item.category + " : " + item.label); //buat item 
    } 
}); 

歧路的jsfiddle: https://jsfiddle.net/ppa8em56/

+0

嗨@Stevangelista哦謝謝你這對我非常有用。哦,我認爲它會使用過濾器。無論如何,謝謝你的參考 –