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

Форум PHP

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

 

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

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

тема: помогите с select городов
 
 автор: dirol   (24.12.2010 в 21:36)   письмо автору
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>

  Ответить  
 
 автор: neadekvat   (24.12.2010 в 21:40)   письмо автору
 
   для: dirol   (24.12.2010 в 21:36)
 

Н-р, так:
<select name="payment_method">
    <option value="1">WebMoney</option>
    <option value="2"<?php (@$_POST['payment_method'] == 2) ? print ' selected' null ?>>Яндекс.Деньги</option>
    <option value="3"<?php (@$_POST['payment_method'] == 3) ? print ' selected' null ?>>Лично в офисе</option>
</select>


Или, если динамически, примерно так:
<select name="payment_method">
<?php
$methods 
= (=> 'WebMoney''Яндекс.Деньги''Лично в офисе');
foreach (
$methods as $key => $value)
{
    
$selected null;
    
    if (
$key == @$_POST['payment_method'])
        
$selected ' selected';
    
    echo 
"<option value=\"{$key}\"{$selected}>$value</option>\n";
}
?>
</select>

  Ответить  
 
 автор: dirol   (25.12.2010 в 11:28)   письмо автору
 
   для: neadekvat   (24.12.2010 в 21:40)
 

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

  Ответить  
 
 автор: neadekvat   (25.12.2010 в 12:29)   письмо автору
 
   для: dirol   (25.12.2010 в 11:28)
 

Так если вопрос по js - что вы делаете в этом разделе?
Или мы сами тут должны разбираться? Мне не в кайф читать ваш листинг в два с половиной монитора, и вряд ли в кайф кому-либо еще.

  Ответить  
 
 автор: dirol   (25.12.2010 в 18:46)   письмо автору
 
   для: neadekvat   (25.12.2010 в 12:29)
 

я написал этот вопрос в разде где css javascript там сказали тут php вот и пиши в тот раздел

  Ответить  
 
 автор: neadekvat   (25.12.2010 в 18:51)   письмо автору
 
   для: dirol   (25.12.2010 в 18:46)
 

Добро пожаловать в мир бюрократии :)

А если серьезно - вы показываете слишком много кода.
Зачем все это?
Локализуйте задачу. У вас смесь js и php. Конечно, вас оттуда послали с php кодом то.
А здесь вы говорите, что у вас проблемы с js.
Вообще оставьте пока свой код.
Решите задачу отдельно, конкретно ее, исключительно ее, без всяких примесей - а потом будете уже внедрять в основной код.

Итак, жду от вас только тот код, работа которого вас интересует и подробные объяснения, что не получается и что должно получиться.

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

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