mam problem z php, na wstępie zaznaczę że jestem naprawdę słaby w tym języku, jak i w javascripcie.
Znalazłem fajny skrypt formularza w jqery, który w pola <option> drugiego selecta wpisuje wartości zależne od wybranej opcji pierwszego selecta.
Jednak ja potrzebuję 3 warunków, więc przerobiłem (na tyle na ile potrafię

Problem jest dla mnie bardzo dziwny i nie potrafię sobie wytłumaczyć jak to się dzieje. Jeśli na próbę (w pliku json2.php, odpowiadającym za wyświetlanie opcji w trzecim select'cie) do istniejącego warunku (sprawdzający wartość drugiego selecta) dodam sprawdzanie jeszcze jednego warunku (w JEDNEJ lub KILKU z pozycji) - skrypt działa.
Problem pojawia się, kiedy próbuję dodać do wszystkich instrukcji drugi warunek - wyświetlanie opcji trzeciego selecta całkowicie przestaje działać, nawet z opcją którą dałem na próbę i de facto przed 2 minutami działała.
Proszę o pomoc lub wskazówkę, gdzie tkwi problem. Już kilka dni siedzę nad kodem i nie jestem w stanie nic więcej wymyśleć.
Formularz z jednym warunkiem: http://www.uire.ayz.pl/formularz/test.php
Formularz z dwoma warunkami: http://www.uire.ayz.pl/formularz2/test.php
I formularz z jednym warunkiem podwójnym (na próbę, 1_1 && pozycja1): http://www.uire.ayz.pl/formularz3/test.php
Paczka do pobrania: http://www.uire.ayz.pl/formularz2.zip
Oraz kod plików test.php, json.php, json2.php:
json.php (fragment)
<?php if ($_POST['type'] == '1_1') { 'value' => 'pozycja1', 'text' => 'pozycja1' ); 'value' => 'pozycja2', 'text' => 'pozycja2' ); 'value' => 'pozycja3', 'text' => 'pozycja3' ); 'value' => 'pozycja4', 'text' => 'pozycja4' ); 'value' => 'pozycja5', 'text' => 'pozycja5' ); } elseif ($_POST['type'] == '1_2') { 'value' => 'pozycja4', 'text' => 'pozycja4' ); } elseif ($_POST['type'] == '1_3') { 'value' => 'pozycja4', 'text' => 'pozycja4' ); } ?>
json2.php (fragent)
<?php //1_1 if ($_POST['type'] == '1_1' && $_POST['types'] == 'pozycja1') { 'value' => 'wartosc1', 'text' => 'wartosc1' ); } ?>
test.php (fragment)
<script type="text/javascript"> $(document).ready(function(){ $("select#jeden").change(function(){ // Post string var post_string = "type=" + $(this).val(); // Send the request and update sub category dropdown $.ajax({ type: "POST", data: post_string, dataType: "json", cache: false, url: 'json.php', timeout: 2000, error: function() { alert("Failed to submit"); }, success: function(data) { // Clear all options from sub category select $("select#dwa option").remove(); // Fill sub category select $.each(data, function(i, j){ $(row).appendTo("select#dwa"); }); } }); }); $("select#dwa").change(function(){ // Post string var post_strings = "types=" + $(this).val(); // Send the request and update sub category dropdown $.ajax({ type: "POST", data: post_strings, dataType: "json", cache: false, url: 'json2.php', timeout: 2000, error: function() { alert("Failed to submit"); }, success: function(data) { // Clear all options from sub category select $("select#trzy option").remove(); // Fill sub category select $.each(data, function(i, j){ $(row).appendTo("select#trzy"); }); } }); }); }); </script> <br /> <form method="post" action="szukaj.php"> <select name="jeden" id="jeden"> </select> <br /> <select name="dwa" id="dwa"> </select> <br /> <h3>Wybierz trzecią wartość: (zależnie od wartości jeden && dwa)</h3> <select name="trzy" id="trzy"> <option value="">--- wybierz ---</option> </select><br /> <input type="submit" name="submit" value="wyślij" /> </form>