2011-12-08 16 views

答えて

4

実際にjQuery ui tabs demo pagesでこれを実現する例があります。新しいタブが作成され、追加された

HTMLテンプレート:

tabTemplateプロパティを使用します。

var $tabs = $("#tabs").tabs({ 
    tabTemplate: "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>", 
    add: function(event, ui) { 
     var tab_content = $tab_content_input.val() || "Tab " + tab_counter + " content."; 
     $(ui.panel).append("<p>" + tab_content + "</p>"); 
    } 
}); 

// close icon: removing the tab on click 
// note: closable tabs gonna be an option in the future - see http://dev.jqueryui.com/ticket/3924 
$("#tabs span.ui-icon-close").live("click", function() { 
    var index = $("li", $tabs).index($(this).parent()); 
    $tabs.tabs("remove", index); 
}); 

: プレースホルダの#{HREF}と#{ラベル}はaddメソッドここ

に引数として渡されたURLとタブ ラベルに置き換えているサイトからのコードです実装では、.live()ではなく、delegate()または()を使用してください。次のようなものがあります。

$('#tabs').on('click', 'span.ui-icon-close', function() { 
    var index = $("li", $tabs).index($(this).parent()); 
    $tabs.tabs("remove", index); 
}); 
+0

を動作しませんが、最初にXボタンを追加する方法? – Moe

+0

「最初に」とはどういう意味ですか?すでにマークアップされているタブの場合'tabTemplate'プロパティと同じマークアップを使います。 –

0

タブには本来xボタンがありません。あなたはすぐに新しいが追加選択したい場合

$("#mytabs1").tabs({ 
    add: function(event, ui) { 
     //your code that adds the custom x button to the new tab here 
    } 
}); 
+0

コードは何ですか? – Moe

+0

あなたは他のコードを投稿していないと教えてください...私はあなたがタブに閉じるアイコンをどのように追加しているのかわかりません。現在のタブウィジェットにはクローズアイコンが含まれていないので、他のアイコンにクローズアイコンをどのように追加していますか? – danwellman

+0

thats私が約質問しているもの – Moe

0

:あなたはどこか他のあなたのタブにある[x]ボタンを追加している、とあなたが追加した新しいタブに追加され、この同じxボタンをご希望の場合は、tabsaddイベントを使用して試みることができますタブ:

var $tabs = $('#tabsid').tabs({ 
      add: function(event, ui) { 
       $tabs.tabs('select', '#' + ui.panel.id); 
      } 
     }); 

これは...

+1

それは動作しない場合、なぜ答えとしてそれを書き留めますか? – IronMan84