Używałem wcześniej rozszerzenia jquery-ui tabs
do ładowania fragmentów stron przez ajax
oraz do ukrywania lub ujawniania ukrytych div
s na stronie. Obie te metody są dobrze udokumentowane i nie miałem żadnych problemów.Zakładki jQuery - pobieranie nowo wybranego indeksu
Teraz jednak chcę zrobić coś innego za pomocą zakładek. Gdy użytkownik wybierze kartę, powinien całkowicie załadować stronę - powodem jest to, że zawartość każdej sekcji z zakładkami jest nieco droga do renderowania, więc nie chcę po prostu wysyłać wszystkich naraz i używać normalnej metody przełączania "display: none", aby je odsłonić.
Mój plan polega na przechwyceniu zdarzenia tabulatorów "select
, a funkcja ta odświeża stronę poprzez manipulowanie położeniem document.location.
W jaki sposób w instrukcji obsługi select
mogę uzyskać nowo wybrany indeks tabulacji i obiekt HTML LI, któremu odpowiada?
$('#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;
}
});
Czy jest atrybutem obiektu zdarzenia lub ui że mogę przeczytać, że da indeksu, ID, lub obiekt nowo wybranej zakładki lub znacznika zakotwiczenia w nim?
A może jest lepszy sposób na wykorzystanie kart do przeładowania całej strony?
to pytanie 2 lat – jantimon
@Ghommey: i prawie 2 lata później znowu, ta odpowiedź była nadal przydatne dla mnie. –
@MichaelBorgwardt Cóż, to fajne :) Jednak Klaus i Matt udzielili podobnej odpowiedzi dwa lata wcześniej. – jantimon