|
 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
(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 = (1 => 'WebMoney', 'Яндекс.Деньги', 'Лично в офисе');
foreach ($methods as $key => $value)
{
$selected = null;
if ($key == @$_POST['payment_method'])
$selected = ' selected';
echo "<option value=\"{$key}\"{$selected}>$value</option>\n";
}
?>
</select>
|
| |
|
|
|
|
|
|
|
для: neadekvat
(24.12.2010 в 21:40)
| | в php я это знаю как делается. у меня не получается при обновлении страницы, загрузить выбранный список городов, так как она на яве сделан | |
|
|
|
|
|
|
|
для: dirol
(25.12.2010 в 11:28)
| | Так если вопрос по js - что вы делаете в этом разделе?
Или мы сами тут должны разбираться? Мне не в кайф читать ваш листинг в два с половиной монитора, и вряд ли в кайф кому-либо еще. | |
|
|
|
|
|
|
|
для: neadekvat
(25.12.2010 в 12:29)
| | я написал этот вопрос в разде где css javascript там сказали тут php вот и пиши в тот раздел | |
|
|
|
|
|
|
|
для: dirol
(25.12.2010 в 18:46)
| | Добро пожаловать в мир бюрократии :)
А если серьезно - вы показываете слишком много кода.
Зачем все это?
Локализуйте задачу. У вас смесь js и php. Конечно, вас оттуда послали с php кодом то.
А здесь вы говорите, что у вас проблемы с js.
Вообще оставьте пока свой код.
Решите задачу отдельно, конкретно ее, исключительно ее, без всяких примесей - а потом будете уже внедрять в основной код.
Итак, жду от вас только тот код, работа которого вас интересует и подробные объяснения, что не получается и что должно получиться. | |
|
|
|