1

我正在动态创建标签。一切正常。但默认情况下它最后插入标签。在某些情况下,我想在特定位置添加选项卡。例如:- 我添加了两个选项卡,即 Tab1,Tab2 。现在,如果我添加第三个选项卡,它应该添加到索引 1,它位于 Tab1 和 Tab2 之间

准备好初始化选项卡,如下所示

   var $tabs = $( "#tabs_selector").tabs
        ({
            tabTemplate: '<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'></span></li>',
         add: function( event, ui )
         {
            $tabs.tabs('select',ui.panel.id);
            return false;
         }
    });

// 现在点击一些链接,我调用下面的函数动态插入选项卡。我的问题是我可以在某处提及索引位置,以便将选项卡插入该位置而不是最后插入吗?

function inserTab()
 {
     var tabs = $('#tabs_selector').tabs();
     tabs.tabs( "add", url, title);// is there any idex paramter too here?
 }
4

1 回答 1

2

添加一个时有一个可选的第四个参数:

.tabs( "add" , url , label , [index] )

因此,您应该能够选择要添加它的位置!

尽管您可能不应该使用“添加”方法,因为它现在已被弃用:http: //jqueryui.com/upgrade-guide/1.9/#deprecated-add-and-remove-methods-and-events-使用刷新方法

也许这样的事情会起作用:

// Find the first tab (change the eq(1) to get a different one)
var firstTab = $( "#tabs" ).find( ".ui-tabs-nav li:eq(1)" );
// create the new tab HTML
var newTab = $( "<li><a href='/remote/tab.html'>New Tab</a></li>" );
// add the new tab after the 1st one we found
firstTab.after(newTab);
// Refresh the tabs widget
$( "tabs" ).tabs( "refresh" );

未经测试,但根据文档应该大致正确!

于 2012-10-16T09:37:03.073 回答