Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Java]toggle jquery.
Forum PHP.pl > Forum > Przedszkole
thurinon
Witam. Od razu do pytania przejdę:
Oto kod.
Kod
    $(".boxin1").click(function(){    
            $(".boxin").show(500);        
        });

    $(".boxin").click(function(){    
            $(".boxin").hide('normal');        
        });
});

A oto fragment kodu php
  1. <tr class="relative">
  2. <td>'.$r['id'].'</td>
  3. <td>'.$r['name'].'</td>
  4. <td>'.$r['wynik'].'</td>
  5. <td><div class="boxin"></div><div class="boxin1"></div></td>
  6. </tr>
  7.  
  8. ';

Ogólnie chodzi o to, że klikając na diva o klasie .boxin1 pokazuję diva o kalasie boxin, i kiedy kliknę na boxin to boxin znika. To jest dla mnie prostew i zrozumiałe. Ale takich div będzie co najmniej kilka, będą się zmieniać, i są generowane z bazy danych. jeżeli wierszy w tabeli jest więcej, to klikając w boxin1 wyświetlam div o klasie boxin1 w każdym z tych wierszy tabeli, jeżeli przerobię to na id zamiast class, to musialbym stworzyć kilka(naście) takich funkcji.

Ja bym chciał tak:
  1. <tr class="relative">
  2. <td>'.$r['id'].'</td>
  3. <td>'.$r['name'].'</td>
  4. <td>'.$r['wynik'].'</td>
  5. <td><div class="boxin'.$r['id'].'"></div><div class="boxin1_'.$r['id'].'"></div></td>
  6. </tr>
  7. ';

I żeby funkcja JS sama wiedziała że gdy kliknę boxin1_12 to ma wyświetlić diva o id boxin12.
Jakieś porady wskazówki gotowiec*? ;-)

Z góry dzięki za pomoc i pozdrawiam smile.gif


PS. z Tym gotowcem to żart ;-]
Wicepsik
[JAVASCRIPT] pobierz, plaintext
  1. $(".boxin").click(function(){
  2. $(this).show(500);
  3. });
[JAVASCRIPT] pobierz, plaintext
thurinon
Znalazłem coś takiego:
Kod
<script>
        
$("div.boxin").click(function(){
var id =  $(this).attr("id")
       $("div#showed".id).toggle("500");
           });

//div klikany ma id="1" a div który ma się pokazać ma id="showed1"
</script>


teoretycznie powinno działać, ale nie działa. Zero reakcji ;/

@Wicepsik Dzięki za zainteresowanie, ale po pierwszym kliknięciu , div znika, i nie da się go "pojawić" ponownie. chyba że poprzednią metodą, ale wtedy przywracam wszystkie divy.
wookieb
Boże wszechmocny dodaj mi sił...
Sprawdź konsolę błędów bo masz błąd składni.
thurinon
Gotowe

@wookieb No dobra przepraszam, ale strasznie zmęczony byłem i nie miałem siły już grzebać, a o JS nie wiem praktycznie nic. Ale i tak kliknę pomógł bo pomogła Twoja rada smile.gif

a to dla potomnych:
Dla takiej tabelki -

  1. // Tabelka generowana w pętli na podstawie danych z bazy
  2. <tr class="relative">
  3. <td>'.$r['bills_id'].'</td> //przykładowo id="1"
  4. <td>'.$r['bills_name'].'</td>
  5. <td>'.$r['wynik'].'</td>
  6. <td>
  7. <div class="boxin" id="'.$r['bills_id'].'"> </div> //div klikany, Jeżeli go klikniemy, zniknie div id="showed1" po ponownym kliknięciu, id="showed1" pojawi się ponownie.
  8. <div class="boxin1" id="showed'.$r['bills_id'].'"></div> // a Tutaj div którego raz pokazujemy, a raz ukrywamy
  9. </td>
  10. </tr>
  11. ';
  12.  
  13. //jak ktoś to skopiuje żywcem to nie zadziała ze względu na komentarze :-]


a Poniżej taki kodzik JS który za wszystko odpowiada

Kod
<script>
        
$("div.boxin").click(function(){
var id =  $(this).attr("id"); //pobieranie id klikniętego elementu
       $("div#showed"+id).toggle("500"); // Dopisywanie id klikniętego elementu, do id elementu ukrywanego || Tutaj to 500 to szybkość z jaką pojawia się i znika nasz div
           });
</script>
//jak ktoś to skopiuje żywcem to nie zadziała ze względu na komentarze :-]

No i w ten sposób, bez względu na ilość divóv do pokaż/ukryj zawsze pojawia się jeden o odpowiednim div ;-)
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.