Добавление динамической вкладки во вкладки BootStrap - PullRequest
11 голосов
/ 02 апреля 2012

Я использую вкладки Twiter Bootstrap на своей странице. Я хочу динамически добавлять вкладки в представлении. В настоящее время я использую этот код, который не работает

$('#tab').append('<li><a href="#tabname" data-toggle="tab">Tab Name</a></li>');
$('#myTabContent').append('<div class="tab-pane fade in active" id="tabname"><p>tab content</p></div>');
$('#tab a:last').tab('show');

Может ли кто-нибудь сказать мне, что мне не хватает?

Ответы [ 3 ]

14 голосов
/ 14 апреля 2012

Теперь я использую этот код, который работает

$('div.active').removeClass('active').removeClass('in');
$('li.active').removeClass('active');

$('#myTabContent').append('<div class="tab-pane in active" id="new_tab_id"><p> Loading content ...</p></div>');
$('#tab').append('<li><a href="#new_tab_id" data-toggle="tab">Tab Name</a></li>');
$('#tab a:last').tab('show');
6 голосов
/ 26 сентября 2012

В моем проекте я использую этот код для добавления вкладок

app = function(){
return {
  tabAdd: function(sel, id, label, content, show){
    var tabs = $(sel);
    $('div.active', tabs).removeClass('in').add($('li.active', tabs)).removeClass('active');
    $('.tab-content', tabs).append('<div class="tab-pane in active" id="'+id+'">'+content+'</div>');
    $('.nav-tabs', tabs).append('<li><a href="#'+id+'" data-toggle="tab">'+label+'</a></li>');
    if(show==true) $('.nav-tabs a:last').tab('show');
  }
}}();
//Example
app.tabAdd('#tabs', 'idNew', 'Label', 'Сontent', true);
2 голосов
/ 30 декабря 2013

В случае, если кому-то это поможет, вариант, который я использовал, кажется, имеет больше смысла.

this.addTab = function(id, label, content ){

    var nav     = $( tab_nav_id );  // ID of your nav-tabs element
    var tabs    = $( tab_list_id ); // ID of your tab-content element

    var new_tab = $('<div>').addClass( 'tab-pane in').attr('id', id).append( content );
    var new_li  = $('<li>').append( $('<a>').attr('href', "#" + id).attr('data-toggle', 'tab').append( label ) );

    tabs.append( new_tab );
    nav.append( new_li );

    return new_li;
};

Возвращение new_li делает его удобным для вызывающего класса.

var tab = this.addTab( 'some_key', 'Tab Title', 'Tab Content' );
// do stuff with tab
tab.find('a').tab('show');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...