[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: несколько зависимых селектов без sql
titovff
не могу сделать несколько зависимых селектов без sql. Например 1-выбор облости, от этого во 2 -выбор города, от этого в 3- выбор улицы, 4- дома ...
с 2-мя селектами проблем нет. вот код.
index.php
<?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>';
exit;
}
?>
<!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'); // делаем список городов активным

});
}
// ]]>
</script>
</
head>
<
body>
<
form action="index.php" method="post">
<
select name="region" onchange="loadCity(this)">
<
option></option>

<?php
// заполняем список областей
foreach ($city as $region => $cityList)
{
echo '<option value="' . $region . '">' . $region . '</option>' . "\n";
}
?>

</select>

<
select name="city" disabled="disabled">
<
option>Выберите город</option>
</
select>

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

</
body>
</
html>


данные по городам беруться из city.php


<?php

$city = array (
'Москва и Московская обл.' => array (
0 => 'Москва' ,
1 => 'Абрамцево',
2 => 'Алабино',
3 => 'Апрелевка',
4 => 'Архангельское',
),

'Санкт-Петербург и область' => array (
0 => 'Санкт-Петербург',
1 => 'Александровская',
2 => 'Бокситогорск',
3 => 'Большая Ижора',
4 => 'Будогощь',

),

'Адыгея' => array (
0 => 'Адыгейск',
1 => 'Майкоп (Адыгея)',
),

'Алтайский край' => array (
0 => 'Акташ',
1 => 'Акутиха',
2 => 'Алейск',
3 => 'Алтайский',

),)


?>


как сделать, чтоб при выборе 1-Москва и Московская обл. 2- москва, появилост 3 со списком улиц и при выборе - осташковская появилось 4- номера домов
очень жду помощи. спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.