2011-10-24 11 views
1

jquery friendフィルタを作成しました。 私は友人の名前が多い大きなulリストを持っています。jQueryフレンドセレクター。 jqueryフィルタでは

私は検索ボックスを持っており、このボックスで検索するとライブ結果ページが表示されます。

友人をクリックすると、liアイテムがアクティブなクラスになり、緑色のアイコンが表示されます。ここで

あなたはそれを見ることができます:JSFiddle

しかし、今私の問題。

検索バーの隣に「今すぐ選択」というリンクがあります。 このリンクをクリックすると、緑色のアイコンでアクティブなクラスを持つliアイテムのみを表示します。

私は最初のjavascripterです。ここで

+0

とおそらく

$("#nowSel").click(function() { $("li:not(.active)").hide(); }); 

http://jsfiddle.net/mplungjan/n69Rm/

何を望んでいる私は申し訳ありませんが、私はいくつかの問題の理解を持っています。 「今すぐ選択」をクリックすると何が起こるはずですか?ページのコンテキストから、現在検索に一致するすべての人々を選択したいと思っています。あれは正しいですか? – Thor84no

+0

リストには多くの人がいます。 li項目をクリックすると。 li項目が選択されています。 li項目はクラスをアクティブにします。しかし、これは壊れていて、うまく機能していません。それが最初の問題です。 li項目をクリックしたとき。 li項目はアクティブなクラスを取得する必要があります。 今選択をクリックすると。アクティブなクラスを持つすべてのliアイテムが表示される必要があります。アクティブなクラスがないliアイテムは非表示にする必要があります。あなたはそれを理解していますか? –

+0

私はあなたの英語を訂正しましたが、それがあなたの望むものかどうか教えてください。 – mplungjan

答えて

1

これはマイクがテスト

$("#nowSel").click(function() { 
    var selected = $("li .active"); 
    if (selected.length>0) { 
    $("li:not(.active)").hide(); 
    } 
    else { 
    // tell user to select something 
    } 
}); 
+0

それは?私は+ $( "li.active")show()という印象を受けて、現在隠されているがアクティブな友達も表示するようにしています。 – Thor84no

0

は次のとおりです。おそらく、それが必要

http://jsfiddle.net/CBbH3/2/を少しリファクタリングするが、要するに、あなたはこのために:visibleフィルタを使用する必要があります。

$('#now-select').click(function() { 
     $(".friend-selection li:visible") 
      .addClass("active") 
      .append('<span class="check"></div>') 
      .find(".check").fadeIn(150); 

     return false; 
    }); 
+0

これは私が探しているものではありません。私の悪い英語のために申し訳ありません。 できるだけ明確に試してみます。 –

+0

「今すぐ選択」をクリックすると、私はそれを得られませんでした。アクティブクラスのliアイテムはshow_より大きい必要があります。それはどこに表示されるべきですか? – Samich

0

は、この行を変更することができます

<a href="#" title="Now Select" >Now Select<a> 

~

<a href="#" title="Now Select" id ="nowselect">Now Select<a> 

これを定義します。

$("#nowselect").click(){ 

    var active =$.("li.active"); 
    //write your logic with active live 
} 
+0

$( "nowselect")は$( "#nowselect")にする必要があります。それは.click(function(){...})でなければなりません。 – Thor84no

関連する問題