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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Динамический аттрибут "selected"

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
BigBoss2012
Отправлено: 27 Февраля, 2013 - 22:01:54
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Товарищи, подскажите пожалуйста. Не могу решить следующую проблему.

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 (желательно чистом).

Заранее огромное спасибо за советы!

(Отредактировано автором: 27 Февраля, 2013 - 22:07:26)

 
 Top
OrmaJever
Отправлено: 27 Февраля, 2013 - 22:16:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




судя по тому что option генерируется динамически то их value берутся из php в цикле?
Тогда примерно так

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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
BigBoss2012
Отправлено: 27 Февраля, 2013 - 22:24:11
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




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. Как бы Вы тогда изменили скрипт?

Заранее очень благодарен!
 
 Top
OrmaJever
Отправлено: 27 Февраля, 2013 - 22:39:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Точно так же, только место $_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>


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
BigBoss2012
Отправлено: 27 Февраля, 2013 - 22:50:21
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Окт. 2012  


Помог: 0 раз(а)




Спасибо Вам огромное!!
 
 Top
OrmaJever
Отправлено: 27 Февраля, 2013 - 22:57:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Спасибо это много, половинку можите забрать Закатив глазки


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB