2016-05-10 11 views
0

多くのオプションを持つ表のフィルタをコーディングする必要があります。テーブル行の表示を切り替える

私のアプローチの気圧は次のとおりです。行をフェッチするループで

、アレイへのオプションの情報をプッシュ:ループが終了したとき

<script> 
     if (arrayTypes == null){ 
     var arrayTypes = []; 
     arrayTypes.push("{{option}}"); 
     } 
     else{ 
     arrayTypes.push("{{option}}");  
     } 
</script> 

私はタイプに一致する配列を持ち、テーブルとの各オプションのインデックス位置は次のようになります。

テーブル行、オプション|配列インデックス

行1、A ........ | [0] = A

行2、B ........ | [1] = B

行3、A ........ | [2] = A

行4、A ........ | [3]

などを= ...

今、私はこのようにそれを設定しようとしている:

$("#type_filters").on('click',"button[name='hide-A']",function(){ 
    for(var i=0;i<=arrayTypes.length;i++){ 
     if(arrayTypes[i] == 'A'){ 
     $("#my-table tr.option")[i].toggle(); 
     } 
    } 
    }) 

が、私はtoggle()であることをログにエラーを取得していますいいえ関数です。

誰かに助けてもらえますか?

+4

は '$を使用してみてください)(トグル;' –

+0

@:あなたはjQueryのに戻ってそれを配置する必要がトグル使用するにはIdanbはこれを成功させました。答えを投稿したくないですか? – Onilol

+1

そのokもTyrの答えを受け入れることができますが、思慮深いことに感謝します:) –

答えて

2

$("#my-table tr.option")[i]はjQueryオブジェクトではないため、トグルは使用できません。あなたは特定のHTML要素を取得します。 。([I] $( "#私のテーブルtr.option"))

var row = $("#my-table tr.option")[i]; 
$(row).toggle(); 
+0

これはIdanebの解説と一緒にコメントセクションで働きました。あなたは答えを改善したいですか? – Onilol

+0

私の答えは1分早かった。 :o – Tyr

0
$("#type_filters").on('click',"button[name='hide-A']",function(){ 
    $.each(arrayTypes,function(i,v) { 
     if(v == 'A'){ 
     var _thisRow = $("#my-table tr.option")[i]; 
     $(_thisRow).toggle(); 
     } 
    }); 
}); 
関連する問題