Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP]Nie działają zależne listy rozwijane
saviola15
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 6.09.2012

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


Witam http://pneumaticon.pl/sil/index.php Nie działa rozwijany select:

Index
  1. <html>
  2. <head>
  3. <script type="text/javascript" src="/select.js"></script>
  4.  
  5. </head>
  6. <body>
  7. <form action="select.php" id="formularz" action="post">
  8.  
  9. <fieldset>
  10. <legend>Kategorie</legend>
  11. <select id="kategorie">
  12. <option value="1">Kategoria 1</option>
  13. <option value="2">Kategoria 2</option>
  14. <option value="3">Kategoria 3</option>
  15. <option value="4">Kategoria 4</option>
  16. </select>
  17. </fieldset>
  18. </form>
  19. </body>
  20.  
  21. </html>


select.php
  1. <?
  2.  
  3. if(!empty($_GET['id'])) {
  4. $id = $_GET['id'];
  5. switch($id) {
  6. case 1:
  7. $tab = array(
  8. '11'=>'Kategoria 1.1',
  9. '12'=>'Kategoria 1.2',
  10. '13'=>'Kategoria 1.3'
  11. );
  12. echo json_encode($tab);
  13. break;
  14. case 2:
  15. $tab = array(
  16. '21'=>'Kategoria 2.1',
  17. '22'=>'Kategoria 2.2',
  18. '23'=>'Kategoria 2.3',
  19. '24'=>'Kategoria 2.4'
  20. );
  21. echo json_encode($tab);
  22. break;
  23. case 3:
  24. $tab = array(
  25. '31'=>'Kategoria 3.1',
  26. '32'=>'Kategoria 3.2'
  27. );
  28. echo json_encode($tab);
  29. break;
  30. case 4:
  31. $tab = array(
  32. '41'=>'Kategoria 4.1',
  33. '42'=>'Kategoria 4.2',
  34. '43'=>'Kategoria 4.3'
  35. );
  36. echo json_encode($tab);
  37. break;
  38. default:
  39. $tab = array('0'=>'Brak');
  40. echo json_encode($tab);
  41. break;
  42. }
  43. }
  44.  
  45. ?>


select.js

  1. //select.js
  2. //skrypt będzie uruchamiany gdy strona się całkowicie załaduje
  3. $(document).ready(function() {
  4.  
  5. //przypisanie akcji wywołania dodatkowej listy do zdarzenia typu change
  6. $('#kategorie').live('change', function(){
  7. var id = $(this).val();
  8.  
  9. //adres url do pliku PHP z kodem generującym dane w formacie JSON
  10. var url = 'select.php?id='+id;
  11.  
  12. //jeśli istnieje już select-lista o id: podkategorie, to usuń ją
  13. if($('#podkategorie').length>0)
  14. $('#podkategorie').remove();
  15.  
  16. //metoda pobierająca dane JSON z podanego adresu w zmiennej url
  17. $.getJSON(
  18. url,
  19. function(data){
  20.  
  21. //tworzymy nową, pustą listę select o id: podkategorie i ją dołączamy do formularza
  22. select = '<select id="podkategorie"></select>';
  23. $('#formularz fieldset').append(select);
  24. var lista = $('#podkategorie');
  25.  
  26. //ukrywamy listę. Potrzebne to będzie do uzyskania animacji pojawienia się elementu na stronie
  27. lista.hide();
  28.  
  29. //generowanie kolejnych opcji listy
  30. $.each(data, function(key, val){
  31. var option = $('<option/>');
  32. option.attr('value', key)
  33. .html(val)
  34. .appendTo(lista);
  35. });
  36.  
  37. //animacja pojawienia się elementu na stronie
  38. lista.show('scale', 500);
  39. },
  40. 'json'
  41. );
  42. })
  43. })


Ten post edytował saviola15 1.07.2013, 14:21:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Skoro używasz jQuery może byś tak ową bibliotekę dołączył? Sama tego nie zrobi.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
saviola15
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 6.09.2012

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


Jak dołączyć takową bibliotekę ? Może masz jakiś fajny tutriolal jak to zrobić ? Bo trochę szukałem w necie i nic nie umiem konkretnego znaleźć... sad.gif
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


To jak ten skrypt napisałeś jak pierwszy raz o jQuery słyszysz? W sekcji HEAD dorzuć:

  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
  2. <script type="text/javascript" src="/select.js"></script>
  3. </head>


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
saviola15
post
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 6.09.2012

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


Serwer ftp mi chwilowo nie odpowiada na pneumaticon to wrzuciłem to na http://kluczeudarowe.pl/sil/index.php i nadal nie działa sad.gif
Go to the top of the page
+Quote Post
lobopol
post
Post #6





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Bo teraz nie dołączasz tego select.js


--------------------
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Tak jak kolega wyżej wspomniał, ścieżka do select.js jest niepoprawna.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
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 Aktualny czas: 21.08.2025 - 08:15