Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите с select городов
 
 автор: dirol   (22.12.2010 в 10:41)   письмо автору
21 Кб
 
 

подскажите как сделать , при передачи методом Get или POST номера городов, чтобы они оставались выбраными в списке.

я сделал при выборе региона, при передачи он остается но список городов выбран ого региона не загружен, тоесть если выбрать московский регион и два города, нажать на кнопку страница пере загрузилась, и оставались выбранными регион и и города в списке. подскажите как это реализовать в яве?

<?php
require_once('city.php'); // подключаем список с городами


$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';

// возвращаем список городов
if ($action == 'getCity'){
    if (isset(
$city[$_GET['region']]))
    {
        echo 
json_encode($city[$_GET['region']]); // возвраащем данные в JSON формате;
    
}
    else
    {
        echo 
json_encode(array('Выберите область'));
    }

    exit;
}

// выводим пришедшие данные
if ($action == 'postResult'){
    echo 
'<pre>' htmlspecialchars(print_r($_POSTtrue)) . '</pre>';

}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Зависимые списки</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <style>
        body {font-family:Verdana; font-size:12px;}
    </style>
    <script type="text/javascript">
    // <![CDATA[
        function loadCity(select){
            var citySelect = $('select[name="city"]');
            citySelect.attr('disabled', 'disabled'); // делаем список городов не активным

            // послыаем AJAX запрос, который вернёт список городов для выбранной области
            $.getJSON('index.php', {action:'getCity', region:select.value}, function(cityList){

                citySelect.html(''); // очищаем список городов

                // заполняем список городов новыми пришедшими данными
                $.each(cityList, function(i){
                    citySelect.append('<option value="' + i + '">' + this + '</option>');
                });

                citySelect.removeAttr('disabled'); // делаем список городов активным

            });

            var citySelect2 = $('select[name="city2"]');
            citySelect2.attr('disabled', 'disabled'); // делаем список городов не активным

            // послыаем AJAX запрос, который вернёт список городов для выбранной области
            $.getJSON('index.php', {action:'getCity', region:select.value}, function(cityList){

                citySelect2.html(''); // очищаем список городов

                // заполняем список городов новыми пришедшими данными
                $.each(cityList, function(i){
                    citySelect2.append('<option value="' + i + '">' + this + '</option>');
                });

                citySelect2.removeAttr('disabled'); // делаем список городов активным

            });


        }
    // ]]>
    </script>

</head>
<body onload=loadCity()>

<?php
 $ajat1 
= ($_POST['city']) ? ($_POST['city']) : ($_GET['city']);
$ajat2 = ($_POST['city2']) ? ($_POST['city2']) : ($_GET['city2']);
$region1 = ($_POST['region']) ? ($_POST['region']) : ($_GET['region']);

echo 
"$region1  - $ajat1 -  $ajat2\n";
    
?>
    <form action="index.php" method="post">
        <select name="region" onchange="loadCity(this)">
        <option>Выберите</option>

            <?php
             $select 
"";
            
// заполняем список областей
            
foreach ($city as $region => $cityList){

             
//echo '<option value="'.$region.'">' . $region . '</option>' . "\n";
              
$select .= '<option ';
              if(
$region1 == $region)
              
$select .='selected=selected';
              
$select .= ' value="'.$region.'">' $region '</option>' "\n";
            }
             
$select .= "</select></label>";
            echo 
$select\n";

            
?>

        </select>

        <select name="city" disabled="disabled">

            <option>Выберите область</option>

        </select>

        <select name="city2" disabled="disabled">
            <option>Выберите область</option>
        </select>

        <input type="hidden" name="action" value="postResult" />
        <input type="submit" value="отправить" />
    </form>
</body>
</html>

  Ответить  
 
 автор: dirol   (22.12.2010 в 17:59)   письмо автору
 
   для: dirol   (22.12.2010 в 10:41)
 

ну подскажите пожалуйста

  Ответить  
 
 автор: АЯ   (24.12.2010 в 09:37)   письмо автору
 
   для: dirol   (22.12.2010 в 17:59)
 

Подсказываю: этот раздел Форума именуется HTML+CSS+JavaScript
Буквы PHP в этом наименовании видите?
Не видите?
А и правильно - их там НЕТ.

Соответственно, не должно быть никакого PHP и в коде, который Вы сюда выложили - надо выложить то, что получает браузер (запускаете в браузере, смотрите исходный код, копируете из него проблемную часть, удаляете ненужное, выкладываете сюда - если очень большой получается, то пакуете и выкладываете в аттаче).

Тогда кто-нить поможет.
Потому что тогда этот "кто-нить" сможет запросто запустить код у себя в браузере и реально глазами увидеть Вашу проблему.
А покуда "любой" должен себе воображать - "а чего же такое там получится, если это запустить в браузере?"

Никому этого не надо, как сами понимаете.
Или не понимаете?

  Ответить  
 
 автор: dirol   (25.12.2010 в 18:48)   письмо автору
 
   для: АЯ   (24.12.2010 в 09:37)
 

а я и спрашиваю помощь по JavaScript. читай внимательно вопрос

  Ответить  
 
 автор: АЯ   (25.12.2010 в 22:02)   письмо автору
 
   для: dirol   (25.12.2010 в 18:48)
 

Внимательно прочитал.
Выводы:
ПЕРВЫЙ - выложенный код вопросу не соответствует.
ВТОРОЙ - Вы просто не умеете читать, ибо выше я изложил - ПОЧЕМУ НИКТО не будет помогать по коду с PHP-вставками.

Повторяю для тех, кто "в танке" - выложенную Вами фигню НЕЛЬЗЯ запустить в браузере и посмотреть - что там и как работает или не работает.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования