2010-11-30 8 views
0


私の問題は、私は、ツリーにマッチした要素(LI)を表示するにはフィルタ機能を使用して、その作業罰金が、そのは、そのすべてのli要素を示すのです。このような何か、
ですたとえば
用渡された文字列から始まる、私は機能をフィルタリングするために、「アプリケーション」を渡された場合、それは私に、「アプリケーション」からすべてのLi、テキストの開始を見せてjQueryのフィルタ機能は、完全一致を示していない:(

function callme(filterData){ 
$("ul.treeview").find("li").hide(); 
if(filterData.indexOf("|")!=-1){ 
    var filterData = filterData.split("|");
for(i=0;i<filterData.length;i++){
jQuery("ul.treeview").find("li").filter(function(index) { return jQuery.trim($(this).text()) == filterData.trim(); }).show(); }
}else{ jQuery("ul.treeview").find("li").filter(function(index) { return jQuery.trim($(this).text()) == filterData.trim(); }).show();
} }

here is my html...

<ul id="leftNavigation" class="treeview"> <li> <ul> <li > <a href="#">Application</a><font class="leftNavHitsFont"> - (3)</font> </li> </ul> <ul> <li > <a href="#">Application Notes</a><font class="leftNavHitsFont"> - (1)</font> </li> </ul> </li> </ul>
+0

あなたはこの失敗の例へのリンクを提供することはできますか?私はあなたがオフに働いているhtmlを見ることができるので、すぐにモックアップを処理することができない場合は? – Adrian

+0

@antonlavey htmlで自分のシナリオを更新しました – Vivek

+0

@Vivek私の解決策を試しましたか? –

答えて

1

ええ、それは何かの定義です何か他のものを含む。

正確に一致することを意味するのでしょうか?

jQuery("ul.treeview").find("li").filter(function(index) { 
    return jQuery.trim($(this).text()) == jQuery.trim(filterData); 
}).show(); 

jsFiddle example

+0

@Jacob Relkinそれは私のために働いていません.. – Vivek

+0

@Vivekあなたのコードを見せてください。 –

+0

私は自分のコードで何をしているのですか?最初にすべてのliを隠してから、filter()で渡された文字列に一致するliのみを表示しようとしています – Vivek

関連する問題