2017-01-25 3 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/ であるあなたは簡単に配列をフィルタリングするgrepを使用することにより、所望の結果を得ることができる非常に多くの

+0

は、なぜあなたは "非表示" にしたいですか?これらの行を削除する方が簡単です。 – eapo

+0

こんにちは@eapo 実際にはデータはAPIに存在しますが、データはかなり多く、私はその一部しか表示しません。それが私がそれを削除しなかった理由です –

答えて

2

、ありがとうございました。参考: 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ああ、ありがとう、それは私にとって非常に便利です。ああ、私はそれがフィルタを使用すると思います。とにかく参考のためにありがとう –

関連する問題