|
|
|
| люди, помогите пожалуйста построить (html) выпадающий список со атрибутом selected.
Из базы данных получаю только цифру. В выпадающем списке нужно отрисовать атрибут selected в соответствии с ID:
<select name="rez_rubrika">
<option value="1">IT, компьютеры, работа в интернете</option>
<option value="2">Бухгалтерия, финансы, работа в банке</option>
<option value="3">Индустрия красоты</option>
<option value="4">Кадровые службы, HR</option>
<option value="5">Консалтинг, тренинги</option>
<option value="6">Культура и искусство</option>
<option value="7">Лингвистика</option>
</select>
|
| |
|
|
|
|
|
|
|
для: fxsektor
(23.10.2007 в 18:28)
| | А этот список вы прописываете или цикл "рисует"? | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 18:31)
| | прописывал | |
|
|
|
|
|
|
|
для: fxsektor
(23.10.2007 в 18:39)
| | Тогда не возможно узнать какой опшен у вас должне быть выбран, если только ручками не прописать. | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 18:41)
| | возможно мы друг-друга не поняли. Я получаю id из базы данных, например '5'. Есть заранее определенный список:
...
<option value="4">Кадровые службы, HR</option>
<option value="5">Консалтинг, тренинги</option>
<option value="6">Культура и искусство</option>
...
задача в том, чтобы построить данный список с атрибутом selected где value=5 | |
|
|
|
|
|
|
|
для: fxsektor
(23.10.2007 в 18:48)
| | value="5" - это у вас просто текст, вы же не можете это сравнить с чем-то. Если бы вы выводили этот список в цикле, тогда можно:
<?
$id = //id полученного из базы
//а в циле вывода списка
<option value="5" <?if ($i == $id) echo 'selected';?>>Консалтинг, тренинги</option>
//где $i индекс цикла
|
| |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 18:55)
| | а вот эта конструкция
<option value="5" <?if ($i == $id) echo 'selected';?>>Консалтинг, тренинги</option>
|
она тоже через echo выводится? или внутри цикла можно выходить из php? | |
|
|
|
|
|
|
|
для: fxsektor
(23.10.2007 в 18:59)
| | Цикл - это и есть РНР, в данном случае, а внутри цикла вы можете делать все что вам нужно, только пример выше это пример, реально запись будет не так выглядеть. Суть в том, что вам надо как-то определить выбранный опшен, вне РНР сценария как вы это сможете сделать? | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 18:55)
| | А у меня похожая ситуация, только у меня в каждом "option" js-функция. Можно ли как-нть сделать так, чтобы функция возврацала значение "selected"???
<select name="selectgolos" style="position:absolute;left:401px;top:606px;width:141px;z-index:28">
<option value="0" onClick="screenxy('<?echo$str;?>')"></option>
<option value="1" onClick="screenxy('<?echo$str;?>')">Отвратительный</option>
<option value="2" onClick="screenxy('<?echo$str;?>')">Не очень</option>
<option value="3" onClick="screenxy('<?echo$str;?>')">Нормальный</option>
<option value="4" onClick="screenxy('<?echo$str;?>')">Хороший</option>
<option value="5" onClick="screenxy('<?echo$str;?>')">Отличный</option>
</select>
|
| |
|
|
|
|
|
|
|
для: Dmitry Berkut
(23.10.2007 в 19:04)
| | Функция screenxy('arg') может вам все сделать из возможного, но на стороне клиента. | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 18:55)
| | Ошибка, если $i это счетчик, то цикл прогоняет все опшны столько раз, сколько сам проходит :( | |
|
|
|
|
|
|
|
для: fxsektor
(23.10.2007 в 19:21)
| | А как сами названия рубрик загнать в массив и построить <select>? | |
|
|
|
|
|
|
|
для: fxsektor
(23.10.2007 в 20:10)
| | Ну во первых, цикл и должен пройти полностью. Во вторых с чем вы хотите сравнивать? Например. Вы динамически в цикле "рисуете" список. Пользователь на странице выбирает опшен из этого списка, и вам отправляется запрос, например: url?sel=4. Тогда вы, при формировании списка сравниваете значение sel с индексом массива. Это для того, чтобы при открытии страницы уже был установлен выбранный пользователем опшен.
Начальное значение индекса цикла вы можете установить в 1, у вас опшены начинаются с этого значения, а массивы с нулевого, поэтому лучше начинать цикл с 0, а для проверки плюсовать к нему 1.
С чем вы хотите сравнивать значение опшена, это вам виднее, я лишь как пример написал это, потому, что возможно у вас условие всегда будет false.
А массив так и записывайте:
$myarr = array('запись0','запись1','запись2',..) | |
|
|
|