Я ранее использовал jquery-ui tabs
расширение для загрузки фрагментов страницы через ajax
, а также для скрытия или обнаружения скрытых div
внутри страницы. Оба эти метода хорошо документированы, и у меня там не было проблем.
Теперь, однако, я хочу сделать что-то другое с вкладками. Когда пользователь выбирает вкладку, он должен полностью перезагрузить страницу - причина этого в том, что содержимое каждой вкладки несколько дороже для рендеринга, поэтому я не хочу просто отправлять их сразу и использовать обычный метод для переключения "display: none", чтобы выявить их.
Мой план состоит в том, чтобы перехватить событие select
вкладок, и эта функция перезагружает страницу, манипулируя document.location.
Как в обработчике select
я могу получить только что выделенный индекс вкладки и объект html LI, которому он соответствует?
$('#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 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;
}
});
Есть ли атрибут объекта или объекта ui, который я могу прочитать, который даст индекс, id или объект только что выбранной вкладки или тега привязки внутри него?
Или есть лучший способ использовать вкладки для перезагрузки всей страницы?