Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JQUERY][PHP]Problem, którego nie da sie opisać jednym zdaniem
Forum PHP.pl > Forum > Przedszkole
krisek101
Cześć.
Więc tak..Mam tablice z czterema danymi($uz[1], $uz[2], itd).

  1. for($i=1;$i<9;$i++){
  2. echo "<a class='kat' rel='".$uz[$i]."'>".$uz[$i]."</a>";
  3. }


Kod jquery do tego:
$("a.kat").click(function() {
var rel = $(this).attr("rel");
$('.tresc').slideUp('slow');
$("div#"+rel).slideDown('slow');
});

Po nacisnięciu linku pokazuje sie na stronie nastepna treść w divie(i to wlaśnie chyba jest źle):
  1. for($i=1;$i<9;$i++){
  2. echo '<div class="tresc" id="'.$uz[$i].'">';


I niby wszystko mi ładnie wyświetla, ale w tym divie jest jeszcze maly formularz logowania/rejestracji jquery, w ktorym po nacisnięciu "Mam już konto", usuwa sie pole e-mail i zamiast "załóż konto" jest "zaloguj", który działa tylko kiedy wejdzie się w $uz1.
Tu jest kod tego formularza:

$("#zarejestruj").click(
function() {
$("#mail").hide();
$("#zaloz").hide();
$(".display_none").show();
$("#zarejestruj").hide();
$("#reg").css('height','250px');
});


$("#zaloguj").click(
function() {
$("#mail").show();
$("#zaloz").show();
$(".display_none").hide();
$("#zarejestruj").show();
$("#reg").css('height','300px');
});


  1. <button id='zarejestruj' type="submit" class="btn btn-success">Mam już konto</button>
  2. <h class="display_none"><button id='zaloguj' type="submit" class="btn btn-success">Nie mam konta</button></h>
  3. <p><input type='text' name='nick' class="form-control" placeholder='Nazwa użytkownika' /></p>
  4. <p><input type="password" class="form-control" placeholder="Hasło" name='haslo'></p>
  5. <p><input id="mail" type="text" name='mail' class="form-control" placeholder="E-mail"></p>
  6. <p><button id='zaloz' class="btn btn-danger" type="submit">Załóż konto</button></p>
  7. <p class='display_none'><button id='loguj' class="btn btn-danger" type="submit">Zaloguj</button></p>


Po wejściu w link pierwszy($uz1) wszystko działa ok, ale w każdym innym nie dziala ta zmiana w jquery formularza.
Dzięki za zainteresowanie i proszę o pomoc.
kpt_lucek
Powiem tak,

Nie wiele się dowiedziałem z Twojej wypowiedzi, poza tym że nie działa Ci ładowanie treści do diva w zależności od klikniętego linku.

Ogólnie, jak chcesz nadać obsługę do grupy elementów to daj ją w:
  1. $(document).ready(function(){
  2. $("a.kat").click(function() {
  3. var rel = $(this).attr("rel");
  4. $('.tresc').slideUp('slow');
  5. $("div#"+rel).slideDown('slow');
  6. });
  7. });


Dodatkowo, jeżeli używasz Firefox'a, to polecam Firebug'a, oraz lekką modyfikację kodu na potrzeby testów:
  1. $(document).ready(function(){
  2. $("a.kat").click(function() {
  3. var rel = $(this).attr("rel");
  4. console.log(rel); // powinien wyświetlić wartość atrybutu "rel" dla każdej kotwicy z klasą "kat"
  5. $('.tresc').slideUp('slow');
  6. $("div#"+rel).slideDown('slow');
  7. });
  8. });


Poza tym, nie wiem czy dobrze zrozumiałem, ale Twój skrypt usuwa (coś fizycznie z dokumentu) po jakiejś akcji. Zaproponowałbym zrobienie tego inną metodą, a mianowicie nie poprzez usunięcie, a wyświetlanie odpowiedniego div'a (w zależności od wymaganej sytuacji oczywiście)

  1. <div id="div1" style="display:none"></div>
  2. <div id="div2"></div>
  3. <script type="text/javascript">
  4. $(document).ready(function(){
  5. $("#idbuttona").click(function() {
  6. $("#div1").hide();
  7. $("#div2").show();
  8. });
  9. });
  10. //Lub
  11. $(document).ready(function(){
  12. $("#idbuttona").click(function() {
  13. if($("#div1").is(":visible")){
  14. $("#div1").hide();
  15. $("#div2").show();
  16. }else{
  17. $("#div1").show();
  18. $("#div2").hide();
  19. }
  20. });
  21. });


W razie co pytaj dalej smile.gif
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.