|
 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($_POST, true)) . '</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 в 10:41)
| | ну подскажите пожалуйста | |
|
|
|
|
|
|
|
для: dirol
(22.12.2010 в 17:59)
| | Подсказываю: этот раздел Форума именуется HTML+CSS+JavaScript
Буквы PHP в этом наименовании видите?
Не видите?
А и правильно - их там НЕТ.
Соответственно, не должно быть никакого PHP и в коде, который Вы сюда выложили - надо выложить то, что получает браузер (запускаете в браузере, смотрите исходный код, копируете из него проблемную часть, удаляете ненужное, выкладываете сюда - если очень большой получается, то пакуете и выкладываете в аттаче).
Тогда кто-нить поможет.
Потому что тогда этот "кто-нить" сможет запросто запустить код у себя в браузере и реально глазами увидеть Вашу проблему.
А покуда "любой" должен себе воображать - "а чего же такое там получится, если это запустить в браузере?"
Никому этого не надо, как сами понимаете.
Или не понимаете? | |
|
|
|
|
|
|
|
для: АЯ
(24.12.2010 в 09:37)
| | а я и спрашиваю помощь по JavaScript. читай внимательно вопрос | |
|
|
|
|
|
|
|
для: dirol
(25.12.2010 в 18:48)
| | Внимательно прочитал.
Выводы:
ПЕРВЫЙ - выложенный код вопросу не соответствует.
ВТОРОЙ - Вы просто не умеете читать, ибо выше я изложил - ПОЧЕМУ НИКТО не будет помогать по коду с PHP-вставками.
Повторяю для тех, кто "в танке" - выложенную Вами фигню НЕЛЬЗЯ запустить в браузере и посмотреть - что там и как работает или не работает. | |
|
|
|