1

jQuery UI の Tabs プラグインを asp.net (webform) アプリケーションで使用しています。

ページにいくつかのポストバックがあるため、現在のタブを保持したいと思います。この次のマークアップ コードを試していますが、これは機能しません。

<input type="hidden" name="selectedTab" id="selectedTab" value="<%= Page.Request.Form["selectedTab"] %>" />

<script type="text/javascript">
    $(function () {
        $("#ActionTabs")
            .tabs()
            .bind("tabsselect", function (event, ui) {
                $("#selectedTab").val(ui.index);
            })
            .tabs("select", $("#selectedTab").val());

    });
</script>

<div id="ActionTabs">
    <ul>
         <li><a href="#tab1">Tab1</a></li>
         <li><a href="#tab2">Tab2</a></li>
    </ul>
    <div id="tab1">
    </div>
    <div id="tab2">
    </div> 
</div> 

開発者ツールを使用すると、非表示の selectedTab がタブの選択時に正しく設定され、ポストバック後に正しく設定されていることを確認できますが、ページの読み込み後は常に最初のタブが選択されます。

私のコードで何が間違っていますか?

4

2 に答える 2

2

わかりました、タブを宣言する別の方法を見つけました:

<script type="text/javascript">
    $(function () {
        $("#ActionTabs")
            .tabs({
                selected : $("#selectedTab").val(),
                select: function (event, ui) {
                    $("#selectedTab").val(ui.index);
                }
            });

    });
</script>

今回は期待通りの出来栄えです。最初のバージョンが機能しなかった理由がよくわかりません。

于 2012-06-18T09:15:24.437 に答える
0

2つのアンカータグを同じタブ1にリンクしているため、何か問題があると思います

<ul>
     <li><a href="#tab1">Tab1</a></li>
     <li><a href="#tab1">Tab2</a></li>
</ul>
于 2012-06-18T08:57:39.143 に答える