2

他のタブの 1 つから (ajax 以外の) タブをロード/選択するには、

$('#mytabscontainer').tabs('select', 3)

ただし、アクティブなタブをリロードできるようにする必要があり、上記の方法は機能しません。どちらでもない

$('#mytabcontainer').tabs('load', 3)

これを達成する方法についてのアイデアはありますか?


** ソリューション **

jQuery 'tabs' プラグインで、以下を含む行を置き換えます。

if (($li.hasClass('ui-tabs-selected') && !o.collapsible) ||

if (

ページに css を追加するか、jQuery css ファイルを編集すると、次のようになります。

div.ui-tabs ul li.ui-tabs-selected a {cursor: pointer !important;}

これによりタブが変更され、以前にクリックされた場合でも常に選択可能になります。

4

3 に答える 3

2

タブのhtmlがこのような場合...

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">NON AJAX TAB</a></li>
    </ul>
    <div id="tabs-1">
        NON AJAX CONTENT
    </div>
</div>

これが発生するページが「page.html」の場合

$("#tabs-1").load("page.html #tabs-1");

トリックを行う必要があります

于 2012-02-16T22:49:38.313 に答える
2

タブにこの html がある場合:

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="ajax/content1.html">Ajax Tab 1</a></li>
        <li><a href="ajax/content2.html">Ajax Tab 2</a></li>
    </ul>
    <div id="tabs-1">
        <p>Proin elit arcu</p>
    </div>
</div>

タブ 1 は ajax 以外のタブです。そのタブには、更新できる URL がありません。したがって、リロードする前にまず URL を指定する必要があります。

var tabs = $('#tabs').tabs();
tabs.tabs( 'url', 0,'ajax/content0.html');
tabs.tabs('load', 0);

タブのインデックスはゼロであることに注意してください。

于 2010-02-01T22:27:39.520 に答える
0

クリックされたタブのコンテンツを削除し、同じコンテンツ (または必要なもの) で再ロードするだけです。例えば:

$( "#tabs" ).tabs({                                                                  
  activate:function(event,ui){ 
    //Remove the content of the current tab
    ui.newPanel.empty();
    //load the file you want into current panel
    ui.newPanel.load('content'+(ui.newTab.index()+1)+'.php');                                                 
  }                                                                          
});

この場合、たとえば 2 番目のタブをクリックすると、パネルが空になり、content2.php が再ロードされます。

于 2014-05-22T04:58:13.063 に答える