Ранее я использовал расширение jquery-ui tabs
для загрузки фрагментов страницы через ajax
, а также для скрытия или выявления скрытых div
s на странице. Оба эти метода хорошо документированы, и у меня там не было проблем.
Теперь, однако, я хочу сделать что-то другое с вкладками. Когда пользователь выбирает вкладку, он должен полностью перезагрузить страницу - причина в том, что содержимое каждого раздела с вкладками довольно дорогое, поэтому я не хочу просто отправлять их все сразу и использовать обычный метод переключить отображение: нет, чтобы показать их.
Мой план состоит в том, чтобы перехватить событие 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'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;
}
});
Есть ли атрибут события или объекта пользовательского интерфейса, который я могу прочитать, который даст индекс, идентификатор или объект вновь выбранной вкладки или тег привязки внутри нее?
Или есть ли лучший способ использовать вкладки для перезагрузки всей страницы?