Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Помогите c jquery (https://forum.antichat.xyz/showthread.php?t=150341)

kdk 22.10.2009 19:25

Помогите c jquery
 
усть код! типа 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;
?>


K0rINf 22.10.2009 21:41

Передавай разные значения. Типа отправляешь $_POST['страна'] на пхп проверяешь если $_POST['страна']== чемуто то echo (Форма для выбора региона с функцией аякса)
с этой формы отправляешь уже $_POST['регион'] в Пхп проверяешь теперь $_POST['страна']== чемуто то echo (Форма для выбора города с аяксом).
Кажеться уже чето такое было! Могу попробывать без jquery написать!

kdk 23.10.2009 08:52

А еще кто то может подсказать????

diGriz 23.10.2009 09:19

Добавь еще одну функцию и див для регионов.
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']) {
    
//делаешь запрос на выборку регионов и так же, как и страны выводишь в селекте
}
?>


Byte_ 23.10.2009 09:25

Очень люблю jquery
могу предложить просто добавить красивости в код.
Код:

function showCountriesById (val) {
$("#districtContainer").html('<img src="/loader.gif" />'); // гифка которая появляется пока идёт запрос.
$.post('ajax.php',{countryId:val},function(data){$("#districtContainer").html(data);})



Время: 07:15