Tôi đã sử dụng phần mở rộng jquery-ui tabs
để tải các đoạn trang qua ajax
và để che giấu hoặc tiết lộ các trang div
ẩn trong một trang. Cả hai phương pháp này đều được ghi lại tài liệu và tôi không gặp vấn đề gì ở đó.Các tab jQuery - nhận chỉ mục mới được chọn
Bây giờ, tuy nhiên, tôi muốn làm điều gì đó khác biệt với các tab. Khi người dùng chọn một tab, nó sẽ tải lại hoàn toàn trang - lý do cho điều này là nội dung của mỗi phần tab có phần đắt tiền để hiển thị, vì vậy tôi không muốn chỉ gửi tất cả cùng một lúc và sử dụng phương pháp thông thường của toggling 'display: none' để tiết lộ chúng.
Kế hoạch của tôi là chặn các sự kiện 'select
tab' và có chức năng đó tải lại trang bằng cách thao tác document.location.
Làm cách nào, trong trình xử lý select
, tôi có thể nhận chỉ mục tab mới được chọn và đối tượng LI html tương ứng không?
$('#edit_tabs').tabs( {
selected: 2, // which tab to start on when page loads
select: function(e, ui) {
var t = $(e.target);
// alert("data is " + t.data('load.tabs')); // undef
// alert("data is " + ui.data('load.tabs')); // undef
// This gives a numeric index...
alert("selected is " + t.data('selected.tabs'))
// ... but it's the index of the PREVIOUSLY selected tab, not the
// one the user is now choosing.
return true;
// eventual goal is:
// ... document.location= extract-url-from(something); return false;
}
});
Có thuộc tính của sự kiện hoặc đối tượng ui mà tôi có thể đọc sẽ cung cấp chỉ mục, id hoặc đối tượng của tab mới được chọn hoặc thẻ liên kết trong đó không?
Hoặc có cách nào tốt hơn để sử dụng các tab để tải lại toàn bộ trang không?
Câu hỏi này được 2 tuổi – jantimon
@Ghommey: và gần 2 năm sau đó một lần nữa, câu trả lời này là vẫn hữu ích với tôi. –
@MichaelBorgwardt Thật tuyệt :) Tuy nhiên, Klaus và Matt đã đưa ra câu trả lời tương tự 2 năm trước đó. – jantimon