Как получить элемент tab по индексу вкладок в вкладках пользовательского интерфейса jQuery? - PullRequest
2 голосов
/ 30 июня 2011

У меня есть следующая функция JavaScript для выбора вкладки по ее индексу:

function changeTab(tabIndex) {
    $("#panel").tabs("select", tabIndex);
}

Но я должен проверить, существует ли эта вкладка и , если она видна, иначе она попытается выбрать вкладку, которая не должна быть доступна.

Для существования это нормально, я просто должен использовать $("#panel").tabs("length");, но для проверить, видим ли он Мне нужен сам элемент.

Ответы [ 3 ]

2 голосов
/ 01 июля 2011

Кажется, для этого нет встроенного метода, но я смог выполнить его, перейдя на вкладку:

function changeTab(tabIndex) {
    var panel = $("#panel");
    var queryIndex = tabIndex + 1; // 1 based
    var desiredTab = panel.find("> ul li:nth-child( " + queryIndex + ")");

    if (desiredTab && desiredTab.is(":visible")) {
        panel.tabs("select", tabIndex);
    }
}
0 голосов
/ 11 июля 2013

Сначала получите Active index

var activeIndex = $("#panel").tabs('option', 'active');

Затем с помощью класса css получите панель содержимого вкладки

// this will return the html element
var element=   $("#panel").find( ".ui-tabs-panel" )[activeIndex]; 

, теперь оберните его в объект jQuery для дальнейшего использования

 var tabContent$ = $(element);

здесь я хочу добавить две информации, с которыми класс .ui-tabs-nav предназначен для Навигации, связанной с, и .ui-tabs-panel связан с панелью содержимого вкладки.в этой демонстрационной ссылке на веб-сайте jquery ui вы увидите, что этот класс используется - http://jqueryui.com/tabs/#manipulation

0 голосов
/ 30 июня 2011

Я не тестировал, но вы можете получить индекс выбранной вкладки по

var activeIndex = $("#panel").tabs( "option" , 'selected')

И тогда у вас должно получиться, что activeIndex равен tabIndex

...