
12.01.2009, 11:14
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Так-с, ну вроде, работает. Будут проблемы, пиши
PHP код:
<?
$countries = array('Россия', 'США', 'Германия');
$cities = array(array('Москва', 'Тверь', 'Уфа'), array('Нью-Йорк', 'Сан-Франциско', 'Бостон'), array('Берлин', 'Гамбург'));
if (isset($_GET['do']) && $_GET['do'] === 'getcities')
{
$cid = intval($_GET['cid']);
echo '<option value="-1">Выберите город...'."\n";
for ($i = 0; $i < count($cities[$cid]); $i++)
echo '<option value="'.$i.'">'.$cities[$cid][$i]."\n";
exit;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<script>
function GetXmlHttpObject()
{
var objXMLHttp=null;
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest();
}
else
if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject('Microsoft.XMLHTTP');
}
return objXMLHttp;
}
function OnChangeCountry()
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
{
forma.city.innerHTML = xmlHttp.responseText;
forma.city.disabled = false;
}
}
function ChangeCountry()
{
cid = forma.country.value;
if (cid == -1)
{
forma.city.disabled = true;
}
else
{
xmlHttp = GetXmlHttpObject();
url = "/test.php?do=getcities&cid=" + cid;
xmlHttp.onreadystatechange = OnChangeCountry;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
}
</script>
<form name="forma" method="post">
<select name="country" onchange="ChangeCountry()">
<option value="-1">Выберите страну...
<?
for ($i = 0; $i < count($countries); $i++)
echo '<option value="'.$i.'">'.$countries[$i]."\n";
?>
</select>
<select name="city" disabled>
<option value="-1">Выберите город...
</select>
</form>
</body>
</html>
|
|
|