Вкладки пользовательского интерфейса jQuery - Как получить индекс выбранной вкладки - PullRequest
109 голосов
/ 18 ноября 2008

Я знаю, что этот конкретный вопрос задавался ранее , но я не получаю никаких результатов, используя событие bind() для плагина jQuery UI Tabs.

Мне просто нужно index новой выбранной вкладки, чтобы выполнить действие при нажатии на вкладку. bind() позволяет мне подключиться к событию select, но мой обычный метод получения текущей выбранной вкладки не работает. Возвращает ранее выбранный индекс вкладки, а не новый:

var selectedTab = $("#TabList").tabs().data("selected.tabs");

Вот код, который я пытаюсь использовать, чтобы получить выбранную в данный момент вкладку:

$("#TabList").bind("tabsselect", function(event, ui) {

});

Когда я использую этот код, объект пользовательского интерфейса возвращается undefined. Из документации это должен быть объект, который я использую для подключения к новому выбранному индексу с помощью ui.tab. Я пробовал это на начальном tabs() вызове, а также сам по себе. Я что-то здесь не так делаю?

Ответы [ 19 ]

3 голосов
/ 21 марта 2013
$( "#tabs" ).tabs( "option", "active" )

тогда у вас будет индекс табуляции от 0

простой

2 голосов
/ 29 сентября 2015

Вы можете оставить ответ ниже в своем следующем посте

var selectedTabIndex= $("#tabs").tabs('option', 'active');
2 голосов
/ 10 сентября 2013

Я нашел код ниже делает свое дело. Устанавливает переменную индекса новой выбранной вкладки

$("#tabs").tabs({
    activate: function (e, ui) {
        currentTabIndex =ui.newTab.index().toString();
    }
});
2 голосов
/ 05 марта 2012

Попробуйте следующее:

var $tabs = $('#tabs-menu').tabs();

var selected = $tabs.tabs('option', 'selected');

var divAssocAtual = $('#tabs-menu ul li').tabs()[selected].hash;
1 голос
/ 19 апреля 2013
$("#tabs").tabs({  
    load:  function(event, ui){  
        var anchor = ui.tab.find(".ui-tabs-anchor");  
        var url = anchor.attr('href');  
    }  
});  

В переменной url вы получите HREF / URL текущей вкладки

1 голос
/ 26 октября 2011

Другой способ получить индекс выбранной вкладки:

var index = jQuery('#tabs').data('tabs').options.selected;
0 голосов
/ 05 августа 2018
$("#tabs").tabs({
    activate: function(event, ui) {
        new_index = ui.newTab.index()+1;
        //do anything
    }
});
0 голосов
/ 30 сентября 2014

Если вы хотите убедиться, что ui.newTab.index() доступен во всех ситуациях (локальные и удаленные вкладки), затем вызовите его в функции активировать , поскольку документация говорит:

$("#tabs").tabs({
        activate: function(event, ui){
             alert(ui.newTab.index());
             // You can also use this to set another tab, see fiddle...
             // $("#other-tabs").tabs("option", "active", ui.newTab.index());                   
        },
});

http://jsfiddle.net/7v7n0v3j/

0 голосов
/ 10 декабря 2010

взять скрытую переменную, такую ​​как '<input type="hidden" id="sel_tab" name="sel_tab" value="" />', и на событии onclick каждой вкладки написать код, например ...

<li><a href="#tabs-0" onclick="document.getElementById('sel_tab').value=0;" >TAB -1</a></li>
<li><a href="#tabs-1" onclick="document.getElementById('sel_tab').value=1;" >TAB -2</a></li>

Вы можете получить значение sel_tab на размещенной странице. :), просто !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...