Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Критерии выборки и запоминание её в выпадающем списке

30.07.2007, 12:32
Гость
Гость

В шаблоне данных в префиксе у меня стоит форма поиска в виде выпадающего списка с критериями поиска. Задача сделать запоминание критерия в этом списке. Т.е. если объекты отобраны по городу Москва, надо что бы в списке по которому отбиралось уже был выбран город Москва, что бы при новом поиске и задания критериев в другом поле поиска, первое не надо было заново выставлять.

Код у меня такой:

Код:
<form action="" method=get>
<input type=hidden name=catalogue value=$current_cc[Catalogue_ID]>
<input type=hidden name=sub value=$current_cc[Subdivision_ID]>
<input type=hidden name=cc value=$current_cc[Sub_Class_ID]>
<b>Название </b> <input name=srchPat[0] type=text size=15 onfocus="this.value=''" value="$srchPat[0]">
<b>город</b> <select name=srchPat[1] size=1><option value=''> </option>".(listQuery("SELECT Region_Name,Region_ID FROM Classificator_Region ORDER BY Region_Name","<option value='$data[Region_ID]'>$data[Region_Name]</option>"))."</select> <input value='Искать' type=submit><br>
</form>


Надо пороварить какое значение сейчас имеет srchPat[1] и сравнить с value и при совпадении дописать selected.

Данная фича реализована в nc_list_select, но что то я никак не пойму как под мой случай её приспособить.
30.07.2007, 14:57
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

как вариант:
Код:

<select name=srchPat[1] size=1><option value=''> </option>
".opt_case($srchPat[1],
listQuery("SELECT Region_Name,Region_ID FROM Classificator_Region ORDER BY Region_Name",
"<option value='$data[Region_ID]' ".opt($data[Region_ID]=='$srchPat[1]',"selected").">$data[Region_Name]</option>")
,
listQuery("SELECT Region_Name,Region_ID FROM Classificator_Region ORDER BY Region_Name",
"<option value='$data[Region_ID]'>$data[Region_Name]</option>")
)."
</select>


Temet nosce...
30.07.2007, 16:12
Гость
Гость

В таком варианте получается что все поля будут selected если есть выборка по srchPat[1]
А надо что бы одно поле по которому отобрано было selected, т.е. поместить такого типа констуркцию внутрь запроса каким-нибудь макаром.
Что то из разряда ".opt($srchPat[1]==$data[Region_ID],"selected")."
запихнуть после в выводимый option.

Код:
<select name=srchPat[1] size=1><option value=''> </option>".(listQuery("SELECT Region_Name,Region_ID FROM Classificator_Region ORDER BY Region_Name","<option value='$data[Region_ID]' ".opt($srchPat[1]==$data[Region_ID],"selected").">$data[Region_Name]</option>"))."</select>

Типа того, но вот как правильно то это сделать??
Может есть какие то другие варианты?
30.07.2007, 16:20
Гость
Гость

Извиняюсь, не до конца просмотрел код, всё помогло.
Делал также, но только почему то выдавало ошибку, вероятно неправильно коментировал символы.
Спасибо.
198 196 2007-07-30 16:20:06 7186
Описание проекта