усть код! типа http://www.lasso.pro/selectCombo/ Как можно его дописать что бы выводились постепенно <div> тоесть страна->Область->город HTML: <html> <head> <title></title> <script src='../js/jquery.js' type='text/javascript'></script> <script type="text/javascript"> $(document).ready(function(){ showCountriesById($('#countryId').val()); }); function showCountriesById (val) { $.ajax({ type: "POST", url: "ajax.php", data: "countryId="+val, success: function(html){ $("#cityContainer").html(html); } }); } </script> </head> <body> <select name="countryId" id="countryId" onchange="showCountriesById(this.value)"> <?php //Выводишь страны if (isset( $countryArr)) { ?> <?php foreach ( $countryArr as $s) { ?> <option value="<?=$s['id']?>"><?=$s['strana']?></option> <?php } ?> <?php } ?> </select> <div id="cityContainer"> </div> </body> </html> ajax.php HTML: <?php $countryId = $_POST['countryId']; //Выбираешь из бд города и заносишь в массив $html .= '<select name="cities">'; while ($row = mysql_fetch_array($res)) { $html .= '<option value="'.$row['id'].'" >'.$row['gorod']'.</option>'; } echo $html; ?>
Передавай разные значения. Типа отправляешь $_POST['страна'] на пхп проверяешь если $_POST['страна']== чемуто то echo (Форма для выбора региона с функцией аякса) с этой формы отправляешь уже $_POST['регион'] в Пхп проверяешь теперь $_POST['страна']== чемуто то echo (Форма для выбора города с аяксом). Кажеться уже чето такое было! Могу попробывать без jquery написать!
Добавь еще одну функцию и див для регионов. PHP: <html> <head> <title></title> <script src='../js/jquery.js' type='text/javascript'></script> <script type="text/javascript"> $(document).ready(function(){ showCountriesById($('#countryId').val()); }); function showCountriesById (val) { $.ajax({ type: "POST", url: "ajax.php", data: "countryId="+val, success: function(html){ $("#cityContainer").html(html); } }); } function showDistrictById (val) { $.ajax({ type: "POST", url: "ajax.php", data: "districtId="+val, success: function(html){ $("#districtContainer").html(html); } }); } </script> </head> <body> <select name="countryId" id="countryId" onchange="showCountriesById(this.value)"> <?php //Выводишь страны if (isset( $countryArr)) { ?> <?php foreach ( $countryArr as $s) { ?> <option value="<?=$s['id']?>"><?=$s['strana']?></option> <?php } ?> <?php } ?> </select> <div id="cityContainer"> </div> <div id="districtContainer"> </div> </body> </html> ajax.php PHP: <?php require_once '../config/db.php'; //подключаешь бд if($_POST['countryId']) { $docId = $_POST['countryId']; $query = "..."; //запрос $res = mysql_query($query); $html .= '<select name="cities" onchange="showDistrictById(this.value)">'; while ($row = mysql_fetch_array($res)) { $html .= '<option value="'.$row['id'].'" >'.$row['gorod']'.</option>'; } $html .= '</select>'; echo $html; } if($_POST['districtId']) { //делаешь запрос на выборку регионов и так же, как и страны выводишь в селекте } ?>
Очень люблю jquery могу предложить просто добавить красивости в код. Code: function showCountriesById (val) { $("#districtContainer").html('<img src="/loader.gif" />'); // гифка которая появляется пока идёт запрос. $.post('ajax.php',{countryId:val},function(data){$("#districtContainer").html(data);})