Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zależne od siebie rozwijane listy, 3 listy po wyborze dwóch pierwszych pojawiają się opcje w trzeciej.
deus7
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.11.2010
Skąd: Kraków

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


Witam.
Mam problem bo nie znam się za bardzo na js a muszę zrobić wyszukiwarkę z kikoma opcjami wyboru zależnymi od siebie.

Chodzi o to że mamy 3 listy rozwijane:
1 – kolor (zielony, czerwony, czarny … )
2 – materiał (wełna, bawełna, len …)
3 – gramatura ( …....... )

Po wybraniu opcji z dwóch pierwszych list skrypt powinien przekazywać te wybrane opcje np.: 1 – zielony; 2 – bawełna do pliku php (POST) który pobierze z bazy danych dane odpowiednie dla tych opcji w postaci tablicy (w tablicy już sobie sformatuję że będą to <option value=”one”>one</option>) i skrypt js pobierze tą tablice i wyświetli ją w 3 liście rozwijanej (jeżeli nie zostały jeszcze wybrane dwie pierwsze opcje lista jest nie aktywna ---)

Jeżeli by ktoś miał chwilkę wymyślić coś takiego to byłbym bardzo wdzięczny (IMG:style_emoticons/default/smile.gif) )


Znalazłem coś taniego ale nie wiem jak pobrać dane z dwóch pul na raz po wyborze w drugim polu..
http://doman.art.pl/kursjs/kurs/jquery/jquery_ajax.html
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
deus7
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 13.11.2010
Skąd: Kraków

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


zrobiłem to tak:
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. var kategoria1 = document.getElementById("kategoria1");
  4. var kategoria2 = document.getElementById("kategoria2");
  5. kategoria1.onchange = kategoria2.onchange = function(){
  6. if ((kategoria1==0) && (kategoria2==0)) {
  7. $.ajax({
  8. type: "POST",
  9. url: "klasa-semnatyczna.php",
  10. dataType: 'json',
  11. data: {
  12. kombinacja1: kategoria1,
  13. kombinacja2: kategoria2
  14. },
  15. success : function(json) {
  16. var $kategoria3 = $('.kategoria3');
  17. $kategoria3.attr('disabled',false);
  18. $kategoria3.empty();
  19.  
  20. for(i=0; i<json.length; i++) {
  21. $kategoria3.append('<option value="'+json[i]['value']+'">'+json[i]['imie']+'</option>');
  22. }
  23.  
  24. $kategoria3.find('option').eq(0).attr('selected','selected');
  25. },
  26. error: function() {
  27. alert('wystąpił błąd :)');
  28. }
  29. })
  30. }
  31. }
  32. });
  33.  
  34. </head>
  35. <form action="" method="POST">
  36.  
  37. <select id="kategoria1">
  38. <option value="0">Wybierz...</option>
  39. <option value="1">Rzeczownik</option>
  40. <option value="2">Czasownik</option>
  41. <option value="3">Przymiotnik</option>
  42. </select>
  43.  
  44. <select id="kategoria2">
  45. <option value="0">Wybierz...</option>
  46. <option value="1">Pozytywny</option>
  47. <option value="2">Neutralny</option>
  48. <option value="3">Negatywny</option>
  49. </select>
  50.  
  51. <select id="kategoria3" disabled="disabled">
  52. <option value="0">---</option>
  53. </select>
  54.  
  55. </form>

plik PHP:
  1. <?php
  2. $kategoria1 = $_POST['kategoria1'];
  3. $kategoria2 = $_POST['kategoria2'];
  4.  
  5. $ttestowa = Array();
  6.  
  7. $ttestowa['m'] = Array();
  8.  
  9. $ttestowa['m'][0] = Array('imie'=>'Bartek', 'value'=>'1');
  10. $ttestowa['m'][1] = Array('imie'=>'Bartek', 'value'=>'2');
  11. $ttestowa['m'][2] = Array('imie'=>'Darek', 'value'=>'3');
  12. $ttestowa['m'][3] = Array('imie'=>'Kamil', 'value'=>'4');
  13. $ttestowa['m'][4] = Array('imie'=>'Michał', 'value'=>'5');
  14.  
  15. echo json_encode($ttestowa['m']);
  16. ?>


i nic się nie dzieje po wybraniu pozycji z list rozwijanych
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 12:51