1
我有我的代碼,使用戶可以在Bootstrap UI選項卡中添加和刪除選項卡。我成功地做到了,是的,它運作良好。jQuery Bootstrap動態選項卡(添加和刪除)
唯一的問題是它不排序標籤名稱。例如,有標籤這樣的:Tab 1
,Tab 2
,Tab 3
,Tab 4
,Tab 5
所以,當我刪除Tab 2
,Tab 3
將Tab 2
然後Tab 4
會Tab 3
等..
此外,當我刪除一個標籤,一個活動標籤顯示標籤1.(請在jsfiddle中查看)
任何解決我的兩個問題?
的jsfiddle鏈接:https://jsfiddle.net/cnycmLq0/
<div class="container">
<div class="row">
<div class="col-md-12">
<p>
<button id="btn-add-tab" type="button" class="btn btn-primary pull-right">Add Tab</button>
</p>
<!-- Nav tabs -->
<ul id="tab-list" class="nav nav-tabs" role="tablist">
<li class="active"><a href="#tab1" role="tab" data-toggle="tab">Tab 1</a></li>
</ul>
<!-- Tab panes -->
<div id="tab-content" class="tab-content">
<div class="tab-pane fade in active" id="tab1">Tab 1 content</div>
</div>
</div>
</div>
</div>
JS:
$(document).ready(function() {
var tabID = 1;
$('#btn-add-tab').click(function() {
tabID++;
$('#tab-list').append($('<li><a href="#tab' + tabID + '" role="tab" data-toggle="tab">Tab ' + tabID + '<button class="close" type="button" title="Remove this page">×</button></a></li>'));
$('#tab-content').append($('<div class="tab-pane fade" id="tab' + tabID + '">Tab ' + tabID + ' content</div>'));
});
$('#tab-list').on('click', '.close', function() {
var tabID = $(this).parents('a').attr('href');
$(this).parents('li').remove();
$(tabID).remove();
//display first tab
var tabFirst = $('#tab-list a:first');
tabFirst.tab('show');
});
var list = document.getElementById("tab-list");
});
謝謝你的!有用。但是當我看到你的代碼有問題時。例如,我添加3個選項卡。然後我刪除了標籤2,因此標籤3將是標籤2.但是當標籤2(舊標籤3)處於活動狀態時,它會顯示標籤3的內容。另外,如何刪除標籤時轉到上一個標籤,而不是去第一個標籤? – Jacob
這是有效的我猜..因爲如果你刪除'tab2'你實際上不需要內容太多..所以'tab3'將基本上是實際的'tab'來代替'tab2',它的內容保持有效。 .. –
看看這個:https://jsfiddle.net/cnycmLq0/4/我已經更新它,修復了內容。但是當我刪除最後一個標籤時,它不顯示它的內容。你能幫我嗎? – Jacob