2016-12-03 4 views
0

materializecssを使用してタブを作成しています。そこで、私は、どのタブが開いているかを検出して、JavascriptまたはJqueryを使用してUIを設定したいところにいます。jqueryで選択されているタブを検出する

例:

if (tab.index == 0 || 'brands'){ 
    //Configure some UI 
}else if(tab.index == 1 || 'products'){ 
    //Configure some UI 
} 

HTML部分は次のようになります。

<ul class="tabs blue-grey darken-2"> 
    <li class="tab col s6"><a class="active" href="#brands" style="color: white;">Brands</a></li> 
    <li class="tab col s6"><a style="color: white;" href="#products">Products</a></li> 
</ul> 

私はすでに手動で次のようにクリックするボタンの上にタブを変更でした:

$('ul.tabs').tabs('select_tab', 'products'); 

が、方法がわかりません質問の部分を達成する。私はいくつかの助けを得ることを望む:)私は多くの同様の質問を行ったが、解決策を見つけることができませんでした。質問が何とか反駁された場合は、コメントしてください。

答えて

0

onShowコールバックがあります。 http://materializecss.com/tabs.html

このコードはテストされておらず、ベンダーのWebサイトでonShowを使用する方法の簡単な例はありませんが、私はあなたにそれが表示されることを願っています。 'some_param'は、タブオブジェクトの属性を知る必要がある場所です。おそらくインデックスがあります。そうでなければ、最初と他のタブに差別化クラスを追加し、jquery .hasClass(classname ')を使用して次に何が起こるかを決めることができます。

$(document).ready(function(){ 
    $('ul.tabs').tabs('select_tab', 'tab_id').onShow(function(selectedTab){ 

    if (selectedTab.some_param === some_val){ 
     ...do something 
    } 

    }); 
}); 
+0

運がなかった。私が理解しているように、onShowは、このタブを開いた後、何かを行うことを知っているはずです。しかし、私は 'window.alert(" Clicked tab opened ");としましたが、何もしませんでした。また、私はパラメータを見つけることができませんでした。私は自分の.jsを調べましたが、私が見たのはvar index = 0だけでした。だから、インデックスは0から始まっていると仮定します。 –

関連する問題