Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] używanie toggle() dla kilku bloków o tym samym id
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
olokotampus
Mam taki kod:

  1. <div id="all">
  2.  
  3. <div id="kom">
  4. <div id="pokaz_odpowiedzi">pokaż odpowiedzi:</div>
  5. <div id="odpowiedzi">...</div>
  6. </div>
  7.  
  8. <div id="kom">
  9. <div id="pokaz_odpowiedzi">pokaż odpowiedzi:</div>
  10. <div id="odpowiedzi">...</div>
  11. </div>
  12.  
  13. <div id="kom">
  14. <div id="pokaz_odpowiedzi">pokaż odpowiedzi:</div>
  15. <div id="odpowiedzi">...</div>
  16. </div>
  17.  
  18. </div>


Jak zrobić w jQuery, żeby po kliknięciu na blok o id pokaz_odpowiedzi pokazywało tylko odpowiedzi w danym (nadrzędnym) bloku kom? Da się to w ogóle zrobić na tym samym id (kom)?
Blok all potrzebuję, bo rozwijam w ten sposób komentarze - $("#all").children("#kom").slideToggle(); - więc raczej nie wchodzi w grę zmiana id kom na inne, z numerami umożliwiającymi identyfikację poszczególnych z nich. Jak robię wewnątrz kom bloki numeryczne, to wtedy mi pokazuje wszystko, zamiast ukrywać przy załadowaniu się strony...

Tu strona z kodem w użyciu, jeśli komuś się chce przez to przekopywać:
http://wwwebsites.pl/yamaneko/new/?post=11
Turson
Masz podstawowy błąd - ID musi być unikalne
johny_s
na poczętek poprwa kod, id musi być unikalne na stronie
olokotampus
No dobra, poprawiam kod i każdy blok kom ma swój numer wygenerowany jeszcze w php: np. kom1, kom3, kom7 itd. Jak wtedy ukryć wszystkie te kom_ naraz? Statycznie nie da rady - numery mogą być nie po kolei i nie wiem, ile będzie bloków.
Da się przypisać dwa różne id jednemu blokowi?
lukasz_os
Ale po co tym elementom nadajesz id? Nadaj im odpowienie klasy i wystarczy. Potem za pomoca funkcji .next() otwórz sasiedni div o klasie 'odpowiedzi'.

tu masz fiddle: http://jsfiddle.net/lukasz_os/zTq5Q/
Pyton_000
  1. $('div[id^="kom_"]).toggle()
olokotampus
Dzięki bardzo, wszystko powoli zaczyna działać i mnie słuchać. :3 Wystarczy użyć tej funkcji next() i klas zamiast powtarzających się id. Pomocna ta strona:

http://ferrante.pl/frontend/javascript/jquery-to-latwe-3/
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.