Показать сообщение отдельно
  #1 (permalink)  
Старый 13.05.2011, 20:29
Интересующийся
Отправить личное сообщение для sega_z Посмотреть профиль Найти все сообщения от sega_z
 
Регистрация: 29.09.2010
Сообщений: 15

Как сделать сохранение списков select?
Есть обычный рабочий код динамических селектов формы "form1":

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
dir = new Array()

dir[1] = new Array()   
dir[1][0]=new dir_qrec("","")
dir[1][1]=new dir_qrec("Апрелевка","Апрелевка")   
dir[1][2]=new dir_qrec("Балашиха","Балашиха")   
dir[1][3]=new dir_qrec("Бронницы","Бронницы")   

dir[2] = new Array()   
dir[2][0]=new dir_qrec("","")
dir[2][1]=new dir_qrec("Арамиль","Арамиль")   
dir[2][2]=new dir_qrec("Артемовский","Артемовский")   
dir[2][3]=new dir_qrec("Асбест","Асбест")   

dir[3] = new Array()   
dir[3][0]=new dir_qrec("","")
dir[3][1]=new dir_qrec("Александровск","Александровск")   
dir[3][2]=new dir_qrec("Березники","Березники")   
dir[3][3]=new dir_qrec("Верещагино","Верещагино")

function dir_qrec(subname,subid){
    this.subname=subname
    this.subid=subid
    return this
}

function show_subs()
{
var k=document.form1.menu1.selectedIndex
var listObj=document.form1.menu2
listObj.length=0
for (var j=0; j<dir[k].length; j++)
    {
    listObj.options[j]=new Option(dir[k][j].subname)
    document.form1.menu2.options[j].value=dir[k][j].subid
    }
listObj.options[0].selected=true
}
</script>
</head>

<body>
<form name="form1" action="3.php" method="GET" onSubmit="this.si.value=this.menu1.selectedIndex">
<input type="hidden" name="si" value="0">
<?php
$arr = array ('', 'Московская область', 'Свердловская область', 'Пермский край');
$response = '<select name="menu1">';
for ($i=0; $i<count($arr); $i++){
    if($i==$_GET['si'])
        $response .= '<option value="'.$arr[$i].'" selected="selected">'.$arr[$i].'</option>';
    else
        $response .= '<option value="'.$arr[$i].'">'.$arr[$i].'</option>';
}
$response .= '</select>';
print $response;
?>
<br>
<select name="menu2" onChange="">
<script language="JavaScript">
<!--
show_subs();
//->
</script>
</select>
<br>
<input name="search" type="submit" class="knopka" title="Найти" value="Найти">
</form>
</body>
</html>


В нём сохраняется последние выбранные значения селекта "регион" вместо пустых первых строк после перезагрузки формы.

Никак не можем сделать то же самое для селекта "города".
Если кто нибудь знает - помогите, пожалуйста!
Ответить с цитированием