Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Java]toggle jquery., ukrywanie i pokazywanie jednego diva o id=idpobranym z bazy danych
thurinon
post 27.01.2011, 19:26:50
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 2
Dołączył: 8.10.2009

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


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 ;-]

Ten post edytował thurinon 28.01.2011, 15:17:06
Go to the top of the page
+Quote Post
Wicepsik
post 27.01.2011, 20:04:52
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


[JAVASCRIPT] pobierz, plaintext
  1. $(".boxin").click(function(){
  2. $(this).show(500);
  3. });
[JAVASCRIPT] pobierz, plaintext


Ten post edytował Wicepsik 27.01.2011, 20:05:03


--------------------
Go to the top of the page
+Quote Post
thurinon
post 27.01.2011, 22:21:11
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 2
Dołączył: 8.10.2009

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


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.

Ten post edytował thurinon 27.01.2011, 22:24:45
Go to the top of the page
+Quote Post
wookieb
post 27.01.2011, 22:24:25
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Boże wszechmocny dodaj mi sił...
Sprawdź konsolę błędów bo masz błąd składni.


--------------------
Go to the top of the page
+Quote Post
thurinon
post 28.01.2011, 15:14:37
Post #5





Grupa: Zarejestrowani
Postów: 55
Pomógł: 2
Dołączył: 8.10.2009

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


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 ;-)
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: 31.07.2025 - 08:41