2

可以通过使用从其他选项卡之一中加载/选择(非 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,然后才能重新加载它:

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');                                                 
  }                                                                          
});

在这种情况下,例如,如果单击第二个选项卡,则面板将被清空并重新加载 content2.php

于 2014-05-22T04:58:13.063 回答