2013-03-12 2 views
12

Я обновляю код с jQuery UI 1.8 до 1.10.Получить индекс активированной вкладки

Под 1,8 событие, инициированное при изменении вкладок, было select, и я мог получить доступ к индексу вкладки, выбранному через ui.index.

В разделе 1.10 событие, инициируемое при изменении вкладок, равно activate. Однако я не могу найти ничего в параметре события ui, который сообщает мне индекс вновь активированной вкладки.

Как узнать этот индекс?

ответ

22

Вы можете использовать следующий подход http://jsfiddle.net/9ChL5/1/:

$("#tabs").tabs({ 
    activate: function (event, ui) { 

     console.log(ui.newTab.index()); 
    } 
}); 
+0

Было просто интересно, есть ли документация на сайте JQuery UI для .index() или любой из других доступных свойств. Я видел, что объект ui имел newTab/oldTab/newPanel/oldPanel, как упоминалось в [этом ответе] (http://stackoverflow.com/a/15367388/684617). Но я не видел более подробных сведений о существовании других свойств, по крайней мере, на этой странице. – GoldDragonTSU

+1

@GoldDragonTSU 'ui.newTab' является обычным объектом jQuery здесь, а' index() 'является jQuery's [index()] (https://api.jquery.com/index/) (обозначается как« Тип: jQuery »в [активировать события docs] (http://api.jqueryui.com/tabs/#event-activate)). –

0

Объект UI все еще здесь, но, кажется, непосредственно держать объекты JQuery из oldTab, newTab, oldPanel, newPanel, так что вам не нужен индекс чтобы найти объект, который вы хотите использовать.

См http://api.jqueryui.com/tabs/#event-activate

ui Type: Object 

- newTab 
Type: jQuery 
The tab that was just activated. 
- oldTab 
Type: jQuery 
The tab that was just deactivated. 
- newPanel 
Type: jQuery 
The panel that was just activated. 
- oldPanel 
Type: jQuery 
The panel that was just deactivated. 
+0

Мне нужен индекс, потому что я сохраняю активный индекс в качестве пользовательского предпочтения в базе данных. –

Смежные вопросы