Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JQUERY][PHP]Problem, którego nie da sie opisać jednym zdaniem
krisek101
post 2.08.2013, 16:00:57
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


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.

Ten post edytował krisek101 2.08.2013, 20:07:09
Go to the top of the page
+Quote Post
kpt_lucek
post 7.08.2013, 17:41:49
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:02