У меня есть две вкладки, из которых вы можете открыть новую третью вкладку и установить ее активную. При закрытии новой открытой вкладки, нажав на значок x, вкладка должна быть активной, с которой была открыта новая вкладка. Как я могу настроить правильную вкладку?
Если пользователь открывает новую вкладку из Tab1, а затем закрывает новую вкладку (№3), тогда активная вкладка должна снова быть tab1. Если пользователь открывает новую вкладку на вкладке2, тогда активная вкладка должна быть tab2, когда он закрывает новую открытую вкладку.
Здесь мой код, чтобы закрыть вкладку:
// close icon: removing the tab on click
tabs.delegate("span.ui-icon-close", "click", function () {
var panelId = $(this).closest("li").remove().attr("aria-controls");
$("#" + panelId).remove();
});
См. Мой пример JSFiddle: http://jsfiddle.net/metaxos/JvaRW/2/
Любая помощь оценивается.
Вам нужно каким-то образом определить, на какой вкладке появилась новая вкладка. Вы можете поместить свойство на вкладке 3, чтобы указать, какая вкладка была использована для его открытия.
addTab('tab-3', this.id); // this.id would be the id of the triggering tab
function addTab(newTabId, triggerId) {
li = '<li><a href="#tabs-3">NEW TAB</a><span openerId='" + triggerId + "' class="ui-icon ui-icon-close" role="presentation">close</span></li>'
}
Изнутри функции удаления возьмите идентификатор и используйте его, чтобы щелкнуть вкладку:
var theTab = $("#tab-3").attr('openerID');
$("#" + theTab).click();