Chciałbym wykorzystać w swoim serwisie powiązane pola wyboru, które opisano : http://php.rk.edu.pl/w/p/powizane-pola-sel...zystujce-ajaxa/
Wykorzystałem ostatni przykład wykorzystujący odczyt z bazy danych
czyli:
index.php
<?PHP ?> <script type="text/javascript" src="ajax.js"></script> <script type="text/javascript"> var ajax = new sack(); function getCityList(sel) { var countryCode = sel.options[sel.selectedIndex].value; document.getElementById('dhtmlgoodies_city').options.length = 0; // Empty city select box if(countryCode.length>0){ ajax.requestFile = 'getCities.php?countryCode='+countryCode; // Specifying which file to get ajax.onCompletion = createCities; // Specify function that will be executed after file has been found ajax.runAJAX(); // Execute AJAX function } } function createCities() { var obj = document.getElementById('dhtmlgoodies_city'); eval(ajax.response); // Executing the response from Ajax as Javascript code } </script> <form action="" method="post"> <table> <tr> <td>Country: </td> <td><select id="dhtmlgoodies_country" name="dhtmlgoodies_country" onchange="getCityList(this)"> <option value="">Wybierz</option> <?PHP include 'mysql.class.php'; $a = new mysql_db(); $a->connect('localhost', 'root', '', 'test2'); $q = $a->query_select("SELECT id, nazwa FROM kategorie WHERE parent_cat = 0"); foreach($q as $i) { } $a->destruct(); ?> </select> </td> </tr> <tr> <td>City: </td> <td><select id="dhtmlgoodies_city" name="dhtmlgoodies_city"> </select> </td> </tr> </table> </form>
oraz
getCities.php:
<?php { include 'mysql.class.php'; $a = new mysql_db(); $a->connect('localhost', 'root', '', 'test2'); $q = $a->query_select("SELECT id, nazwa FROM kategorie WHERE parent_cat = '".mysql_real_escape_string($_GET['countryCode'])."'"); foreach($q as $i) { "; } $a->destruct(); } ?>
Wszystko po przystosowaniu mojej bazy działa pięknie, tylko moje potrzeby są troszeczke większe, a mianowicie uzależnienie kilku pól. Potrzebuje wybór kraju, na jego podstawie wybór województwa, na jego podstawie wybór powiatu, dalej gminy, dalej miasta itd.
Zrobiłem powiązanie 1 pola z 2 i drugiego z 3 tak na próbe, czyli kraj-województwo-powiat.
Działa dobrze, tylko jest mała wiewygoda. Gdy wybiorę w kolejności kraj-województwo-powiat (chodzi o polskę) wszystko się załaduje i ok ale jak po takim wybraniu chcę zmienić kraj, to 2 pole zachowuje się poprawnie, natomiast w trzecim nadal widnieją poprzednio wprowadzone powiaty (polskie).
Jak ten problem rozwiązać, aby wszystkie pola po wyborze i modyfikacji zachowywały sie poprawnie.
Kolejnym innym moim zapytaniem dotyczącym tego samego wątku jest wczytywanie całego pola wyboru, czyli na stronie widnieje wybór krajów - wybieram powiedzmy Polskę i po wybraniu wczytuje się nowa komórka, a mianowicie pole wyboru województwa i po jego wybraniu pojawia się nowa komórka z polem wyboru powiatu itd. Pamiętając o tym, co juz opisałem wyżej, że jak zmienię kraj komórki się odpowiednio zachowują, czyli przy tym rozwiązaniu znikają.
Prościej nie udało mi się opisać. Z góry dziekuję za odpowiedzi.