2010-02-03 234 views
0

全部,如何獲取當前選定選項卡的TabIndex?

我嵌套了JQuery UI選項卡。我想爲嵌套選項卡實現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> 

感謝

回答

1

docs

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

編輯

我複製你的文件,並進行了如下修改:

  1. 更改重載鏈接到看起來像這樣:

    href="#" id="reload"

(降價使我的錨定標記轉換爲鏈接)

  • 更改的jquery爲此:
  •   
    $(function() { 
        $('#tabContainer').tabs({ selected: 0 }); 
        $('#fragment-1').tabs({ selected: 0 }); 
        $('#reload').click(function(){ 
         var $tabs = $('#fragment-1').tabs(); 
         reloadTab($tabs.tabs('option', 'selected')); 
        }); 
    }); 
    
    function reloadTab(tabindex) { 
         //alert(tabindex); //un-comment for proof. 
        var smalltabs = $('#fragment-1').tabs({cache:false, spinner:'',selected:0}); 
        $('#tabContainer').tabs('load', smalltabs.tabs('option','selected')); 
        $('#fragment-1').tabs('load', tabindex); 
    } 
    
    
    +0

    這不適用於嵌套的標籤工作.. – Jake 2010-02-03 22:29:25

    +0

    禾爲我而去。看到我上面的編輯。 – RKitson 2010-02-03 22:51:11