Я ранее использовал jquery-ui tabs
расширение для загрузки фрагментов страницы через ajax
, а также для скрытия или выявления скрытых div
с на странице. Оба эти метода хорошо документированы, и у меня там не было проблем.jQuery вкладки - получение вновь выбранного индекса
Теперь, однако, я хочу сделать что-то другое с вкладками. Когда пользователь выбирает вкладку, он должен полностью перезагрузить страницу - причина этого в том, что содержимое каждой вкладки несколько дороже для рендеринга, поэтому я не хочу просто отправлять их сразу и использовать обычный метод переключения «display: none», чтобы выявить их.
Мой план состоит в том, чтобы перехватить событие tabs '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;
}
});
Есть ли атрибут события или Ui объект, который я могу прочитать, что даст индекс, идентификатор или объект на вкладке вновь выбранной или тега привязки в нем?
Или есть лучший способ использовать вкладки для перезагрузки всей страницы?
Этот вопрос 2 лет – jantimon 2010-08-25 08:37:53
@Ghommey: и почти 2 года спустя снова, этот ответ был все еще полезный для меня. – 2012-05-29 13:08:46