0

全て、

JQueryUIタブをネストしました。ネストされたタブにreloadTab機能を実装したいと思います。現在、次のコードにはネストされたタブの静的フラグメントがありますが、最終的にはURLが含まれるため、タブはajaxタブとして動作できます。どのようにreloadTab機能を実現できますか?

<html>
<head>
        <link type="text/css" rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/ui-lightness/jquery-ui.css" />
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js" type="text/javascript"></script>
        <script type="text/javascript">
                $(function() {
                        $('#tabContainer').tabs({ selected: 0 });
                        $('#fragment-1').tabs({ selected: 1 });
                });

        function reloadTab(tabindex)
        {
             var smalltabs = $('#fragment-1').tabs({cache:false, spinner:'',selected:0});
             $('#tabContainer').tabs('load', smalltabs.tabs('option','selected'));
             $('#fragment-1').tabs('load', tabindex);
        }
        </script>
</head>
<body> 
        <div id="tabContainer">
                <ul>
                        <li><a href="#fragment-1"><span>TAB1</span></a></li>
                        <li><a href="#fragment-2"><span>TAB2</span></a></li>
                        <li><a href="#fragment-3"><span>TAB3</span></a></li>
                </ul>
                <div id="fragment-1">
                        <ul class="innerNav" >
                                <li><a href="#fragment-1a"><span>INNERTAB1</span></a></li>
                                <li><a href="#fragment-1b"><span>INNERTAB2</span></a></li>
                        </ul>
                        <div id="fragment-1a" class="innerFragment">Content of inner tab 1</div>
                        <div id="fragment-1b" class="innerFragment">Content of inner tab 2 
                <br><a href="Javascript:reloadTab(1);">Reload tab content</a></div>
                </div>
                <div id="fragment-2"></div>
                <div id="fragment-3"></div> 
        </div>
</body>
</html>

ありがとう

4

1 に答える 1

1

ドキュメントから:

var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0

編集

ファイルをコピーし、次の変更を加えました。

  1. リロードリンクを次のように変更します。

    href="#" id="reload"

(マークダウンは私のアンカータグをリンクに変換し続けます)

  1. jqueryを次のように変更します。
       
$(function(){
    $('#tabContainer')。tabs({selected:0});
    $('#fragment-1')。tabs({selected:0});
    $('#reload')。click(function(){
        var $ tabs = $('#fragment-1')。tabs();
        reloadTab($ tabs.tabs('option'、'selected'));
    });
});

関数reloadTab(tabindex){
        // alert(tabindex); //証明のためにコメントを外します。
    var smalltabs = $('#fragment-1')。tabs({cache:false、spinner:''、selected:0});
    $('#tabContainer')。tabs('load'、smalltabs.tabs('option'、'selected'));
    $('#fragment-1')。tabs('load'、tabindex);
}

于 2010-02-03T22:28:20.030 に答える