2013-03-12 13 views
12

Tôi đang nâng cấp mã từ jQuery UI 1.8 lên 1.10.Nhận chỉ mục của tab được kích hoạt

Dưới 1,8, sự kiện được kích hoạt khi tab thay đổi là select và tôi có thể truy cập chỉ mục của tab được chọn thông qua ui.index.

Dưới 1,10, sự kiện được kích hoạt khi tab thay đổi là activate. Tuy nhiên, tôi không thể tìm thấy bất cứ điều gì trong tham số sự kiện ui cho tôi biết chỉ mục của tab mới được kích hoạt.

Tôi làm cách nào để khám phá chỉ mục đó?

Trả lời

22

Bạn có thể sử dụng các phương pháp sau đây http://jsfiddle.net/9ChL5/1/:

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

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

Là chỉ tò mò nếu có tài liệu hướng dẫn trên trang web JQuery UI cho .index() hoặc bất kỳ thuộc tính khác có sẵn. Tôi thấy rằng đối tượng ui có newTab/oldTab/newPanel/oldPanel như đã đề cập trong [câu trả lời này] (http://stackoverflow.com/a/15367388/684617). Nhưng tôi không thấy chi tiết hơn về sự tồn tại của các thuộc tính khác, ít nhất là trên trang đó. – GoldDragonTSU

+1

@GoldDragonTSU 'ui.newTab' là một đối tượng jQuery thông thường ở đây và' index() 'là jQuery [index()] (https://api.jquery.com/index/) (được chỉ ra bởi" Type: jQuery "trong [kích hoạt tài liệu sự kiện] (http://api.jqueryui.com/tabs/#event-activate)). –

0

Đối tượng UI vẫn là ở đây nhưng dường như để giữ trực tiếp các đối tượng jQuery của oldTab, newTab, oldPanel, newPanel, do đó bạn không cần chỉ số để tìm đối tượng bạn muốn sử dụng.

Xem 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

Tôi cần chỉ mục vì tôi đang lưu chỉ mục hoạt động làm tùy chọn người dùng trong cơ sở dữ liệu. –