2012-10-16 37 views
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? 
} 

回答

2

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

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

所以,你应该能够挑选要添加它!

虽然也许你不应该使用“添加”方法,因为它现在已经被弃用:http://jqueryui.com/upgrade-guide/1.9/#deprecated-add-and-remove-methods-and-events-use-refresh-method

也许像这样的工作:

// 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"); 

未经检验,但应大致正确的基于文档!

相关问题