Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery] przechodzenie miedzy zakladkami
Forum PHP.pl > Forum > XML, AJAX
Sensi
Witam, mam stronke na ktorej sa zakladki w jquery (tabs), gdzie na kazdej sa jakies pola do wypelnienia, chcialbym zrobic tak, ze po kliknieciu kazdego linku bedzie uruchamiana funkcja walidujaca, po ktorej przejsciu pozytywnie bedzie mozliwe wlaczenie innej karty, w innym przypadku ma byc zglaszany blad itp. W jaki sposob moge to zrobic? probowalem na wiele sposobow i caly czas z tym samym efektem... albo walidacja sie nie uruchamia i nastepna karta sie wlacza albo walidacja dziala dobrze, jednak nastepna karta nadal sie przelacza :/ prosilbym o szybka pomoc

pozdrawiam
Ellington
Zrób tabsy przełączane za pomocą linków <a>, złap event w jquery, gdy jest kliknięcie ($().click), daj mu return false, żeby nie ładował linka, a później rób co chcesz: najpierw waliduj - jeżeli się zwaliduje -> daj np. fadeIn dla drugiej karty, a dla obecnej fadeOut.
Sensi
ok, zalozmy, ze to wyglada tak:
Kod
<ul>
        <li><a href="#s1" id="s1">Strona 1</a></li>
        <li><a href="#s2" id="s2">Strona 2</a></li>
        <li><a href="#s3" id="s3">Strona 3</a></li>
        <li><a href="#s4" id="s4">Strona 4</a></li>
    </ul>


dla strony 2 tworze przykladowy event klikniecia, zeby nie otwierlo w ogole tej podstrony:
Cytat
$("#s2").click(function(){
return false;
}
);

i to nie dziala ;p nadal przeskakuje mi miedzy zakladkami...
vokiel
[JAVASCRIPT] pobierz, plaintext
  1. $('li a').click(function(e){
  2. e.preventDefault(); //zablokowanie domyślnej akcji
  3. });
[JAVASCRIPT] pobierz, plaintext
Sensi
Cytat(vokiel @ 23.01.2010, 13:13:44 ) *
[JAVASCRIPT] pobierz, plaintext
  1. $('li a').click(function(e){
  2. e.preventDefault(); //zablokowanie domyślnej akcji
  3. });
[JAVASCRIPT] pobierz, plaintext



najsmieszniejsze jest to, ze dziala to na kazde inne linki na stronie (zamieszczone w takiej postaci) poza etykietami biggrin.gif
vokiel
Działa dla każdego linku umieszczonego w liście. Jak widać zresztą.
Wystarczy, że dasz id dla ul, i podasz te id w js i będzie działało tam gdzie ma działać.

  1. <ul id="dzialaj_tylko_tu">
  2. //(...)
  3. </ul>

[JAVASCRIPT] pobierz, plaintext
  1. $('li a','#dzialaj_tylko_tu').click(function(e){ /* zadziała tylko w obrębie elementu o id dzialaj_tylko_tu */
  2. e.preventDefault(); /* zablokowanie domyślnej akcji */
  3. });
  4. // lub
  5. $('#dzialaj_tylko_tu li a').click(function(e){ /* zadziała tylko w obrębie elementu o id dzialaj_tylko_tu */
  6. e.preventDefault(); /* zablokowanie domyślnej akcji */
  7. });
[JAVASCRIPT] pobierz, plaintext
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.