Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Pętla, jquery i pokaż ukryj
Forum PHP.pl > Forum > Przedszkole
kill15
Witam.
Napisałem w php kawałek kodu który wyświetla mi kategorie: w kolejności rodzic -> dziecko -> dziecko dziecka( arrowheadsmiley.png ) itd
Ale chciałbym jquery napisać kawałek kodu który pokazywałby mi kolejne pokolenia po naciśnięciu odpowiedniego + aczkolwiek nie wiem jak o zrobić.
Z pomocą kursów zrobiłem coś takiego:

  1.  
  2. <script type="text/javascript">
  3.  
  4. $(document).ready(
  5.  
  6. function raz()
  7. {
  8.  
  9. $('k1').click(
  10. function show()
  11. {
  12. $("#pok").toggle();
  13. }
  14. ).toggle(function(){$(this).text('-');}, function(){$(this).text('+');});
  15.  
  16.  
  17. }
  18.  
  19. );
  20. </script>
  21. <k1>+</k1>
  22. <p id="pok" style="display: none;">Tekst1</p>


aczkolwiek to nie rozwiązuje mojego problemu tutaj dam kod php mój:
  1. //tutaj kod jest niewazny
  2. foreach($this -> def_table as $key => $view_it)
  3. {
  4.  
  5. if($view_it['parent'] == '0')
  6. {
  7.  
  8. echo '<a href="index.php?subpage=1&cat='.$view_it['id'].'">'.$view_it['name'].'</a><br>';
  9. $this -> view_kids($this -> def_table, $view_it['id']);
  10.  
  11.  
  12. }
  13. //koniec funkcji
  14.  
  15. function view_kids($table, $parent)
  16. {
  17.  
  18. foreach($table as $new_table)
  19. {
  20. if($new_table['parent'] == $parent)
  21. {
  22.  
  23. echo '<a href="index.php?subpage=1&cat='.$new_table['id'].'">'.$new_table['name'].'</a><br>';
  24.  
  25. $this -> view_kids($table, $new_table['id']);
  26. }
  27. }
  28. }


Tutaj myślę aby zrobić tak:
  1. //dla rodzica
  2. echo '<k'.$view_it['id'].'></k>';
  3. //dla dzieci
  4. echo '<k'.$new_table['id'].'></k>';
  5. // i to oprawić w
  6. echo '<class id="pok'.$new_table['parent'].'" style="display: none;"> //Tu nazwa itp
  7. </class>';




Tylko jak to teraz z jquery zgrać ?

#luq
Powinieneś takie menu trzymać w liście

  1. <ul>
  2. <li>
  3. Rodzic
  4. <ul>
  5. <li>
  6. Dziecko
  7. (...)
  8. </li>
  9. </ul>
  10. </li>
  11. </ul>


ukrywasz w jQuery wszystkie ul, poza pierwszym. Po kliknięciu na li pokazujesz ul zawarty w tym elemencie, i to wszystko wink.gif
kill15
mógłbyś trochę bardziej pomóc od strony jquery(wlaśnie tutaj troszke slaby jestem ^.^)?

Podam kod i prosiłbym o odp czy idę dobrym tropem ^.^
  1. <?php
  2. function view_kids($table, $parent)
  3. {
  4.  
  5. foreach($table as $new_table)
  6. {
  7. if($new_table['parent'] == $parent)
  8. {
  9. ?>
  10. <script type="text/javascript">
  11.  
  12.  
  13. $(document).ready(
  14.  
  15. function raz()
  16. {
  17. <?php
  18. echo "var a = '$new_table[parent]'\n";
  19.  
  20. ?>
  21. $(a).click(
  22. function show()
  23. {
  24.  
  25. <?php
  26. echo "var b = '$new_table[id]'\n";
  27.  
  28. ?>
  29. $(b).toggle();
  30. }
  31. ).toggle(function(){$(this).text('-');}, function(){$(this).text('+');});
  32.  
  33. }
  34. );
  35.  
  36.  
  37. </script>
  38. <?php
  39. echo '<class id="'.$new_table['id'].'" style="display: none;">';
  40. echo '<k'.$new_table['id'].'>+</k'.$new_table['id'].'>';
  41.  
  42. echo '-><a href="index.php?subpage=1&cat='.$new_table['id'].'">'.$new_table['name'].'</a><br>';
  43.  
  44. $this -> view_kids($table, $new_table['id']);
  45. echo '</class>';
  46. }
  47. }
  48. }
  49.  


wiem wiem wygląda to strasznie ale próbuje już wszystkiego ;<

Tutaj troszke twoim tropem idąc:

  1. <script type="text/javascript">
  2.  
  3.  
  4. $(document).ready(
  5.  
  6.  
  7. function raz()
  8. {
  9. var lambada = 's1';
  10. $(lambada).click(
  11. function show()
  12. {
  13. var b = '#s2';
  14. $(b).toggle();
  15. }
  16. ).toggle(function(){$(this).text('-');}, function(){$(this).text('+');});
  17.  
  18. var lambada = '#s2';
  19. $(lambada).click(
  20. function show()
  21. {
  22. var b = '#s3';
  23. $(b).toggle();
  24. }
  25. )
  26. }
  27.  
  28. );
  29.  
  30.  
  31. </script>
  32.  
  33. <ul >
  34. <li >
  35. <s1>+</s1>
  36. Rodzic
  37. <ul id='s2' style="display: none;">
  38. <li>Dziecko2</li>
  39.  
  40. <ul id='s3' style="display: none;"> <li>Dziecko3(...)</li></ul>
  41. <ul id='s4' style="display: none;"> <li>Dziecko4(...)</li></ul>
  42. <li>Dziecko5</li></ul>
  43.  
  44.  
  45. </li>
  46. </ul>


Tylko jak coś w tym stylu przerzucić do pętli w php i zrobić aby to działało ?

tak więc jakieś pomysły ?
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.