Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Динамический аттрибут "selected"
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Динамический аттрибут "selected"

Страниц (1): [1]
 

1. BigBoss2012 - 27 Февраля, 2013 - 22:01:54 - перейти к сообщению
Товарищи, подскажите пожалуйста. Не могу решить следующую проблему.

1. Есть HTML-форма:

CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <form method="post" id="city">
  3. <select name="city" id="city">
  4. <option value="moscow">Moscow</option>
  5. <option value="kharkov">Kharkov</option>
  6. </select>
  7. </form>
  8. </html>


2. Есть переменная в PHP, в которую будут передаваться значения value для option-ов указанного выше <select>.



3. Собственно проблема\вопрос\просьба:
Необходимо присваивать атрибут "selected" option-y, value которого равно переменной $selected value

Option-ов в списке естественно будет больше чем 2 (генерируется динамически). Решения годятся как на PHP так и на JS (желательно чистом).

Заранее огромное спасибо за советы!
2. OrmaJever - 27 Февраля, 2013 - 22:16:03 - перейти к сообщению
судя по тому что option генерируется динамически то их value берутся из php в цикле?
Тогда примерно так

PHP:
скопировать код в буфер обмена
  1. foreach($someArray as $value) {
  2.   echo '<option value="' . $value . '" ' . ($value == $_POST['city']?'selected':'') . '>' . $value . '</option>';
  3. }
3. BigBoss2012 - 27 Февраля, 2013 - 22:24:11 - перейти к сообщению
OrmaJever пишет:
судя по тому что option генерируется динамически то их value берутся из php в цикле?
Тогда примерно так

PHP:
скопировать код в буфер обмена
  1. foreach($someArray as $value) {
  2.   echo '<option value="' . $value . '" ' . ($value == $_POST['city']?'selected':'') . '>' . $value . '</option>';
  3. }


Спасибо большое. А если предположить что <select> у нас статический с заранее заданными value. Из БД приезжает значение $selected_value. Как бы Вы тогда изменили скрипт?

Заранее очень благодарен!
4. OrmaJever - 27 Февраля, 2013 - 22:39:20 - перейти к сообщению
Точно так же, только место $_POST['city'] $selected_value.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <select>
  2.   <option value="val1" <?=($selected_value == 'val1'?'selected':'');?>>val1</option>
  3.   <option value="val2" <?=($selected_value == 'val2'?'selected':'');?>>val2</option>
  4.   <option value="val3" <?=($selected_value == 'val3'?'selected':'');?>>val3</option>
  5.   <option value="val4" <?=($selected_value == 'val4'?'selected':'');?>>val4</option>
  6. </select>
5. BigBoss2012 - 27 Февраля, 2013 - 22:50:21 - перейти к сообщению
Спасибо Вам огромное!!
6. OrmaJever - 27 Февраля, 2013 - 22:57:58 - перейти к сообщению
Спасибо это много, половинку можите забрать Закатив глазки

 

Powered by ExBB FM 1.0 RC1