Идентификатор выбранной вкладки? - PullRequest
7 голосов
/ 14 марта 2011

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

http://jsfiddle.net/oshirowanen/eWncA/

Можно ли вместо этого получить идентификатор, если у пользователя были идентификаторы. Если проще получить его из другого места, то это также будет хорошо, то есть связанные теги div или где-то еще.

Ответы [ 5 ]

8 голосов
/ 14 марта 2011

jQuery UI просто добавляет класс к выбранному li.Вы можете просто извлечь li с выбранным классом следующим образом:

   var id = $("li.tab.ui-tabs-selected").attr("id");

Если вы хотите получить одну из невыбранных вкладок, вы можете сделать что-то вроде этого:пример:

http://jsfiddle.net/UBs9m/2/

4 голосов
/ 14 марта 2011
var id = $("li.tab:eq("+selected+")").attr('id');
3 голосов
/ 22 декабря 2011

Если вы можете просто использовать обработчик событий select элемента управления Tabs, это прекрасно работает:

$('#tabs').tabs({
    select: function( evt, ui ) {
        console.log( $(ui.panel).attr( 'id' ) );
    }
});

Кроме того, вот удобная ссылка для различных ui свойств объекта.

1 голос
/ 26 июня 2013

Если вы используете вкладки jquery (новая версия):

<div id="tabs">
        <ul>
            <li data-value="tab1"><a href="#tab1">Name of tab1</a></li>
            <li data-value="tab2"><a href="#tab2">Name of tab2</a></li>
        </ul>
        <div id="tab1">
        </div>
        <div id="tab2">
        </div>
 </div>       

 //get id in init
 $(function () {
    $("#tabs").tabs({
        activate: function(event ,ui) {
           var id = $(ui.newPanel).prop('id');
        }
      }
    );
 });
 var id = $("#tabs li.ui-state-active").attr('data-value'); //get id in other function
0 голосов
/ 14 июня 2013

Если вы заходите сюда через Google, как и я, и используете jQuery UI 1.9.X, используйте события activate или beforeActivate, чтобы получить id:

$('selector').tabs({
  activate: function(e, ui) {
    var id = $(ui.newPanel).prop('id');
  }
});

Документация

...