Shakoladka

[PHP] Использование тега <option>

В теме 2 сообщения

Не могу понять как сделать что бы функция выводилась в <option>

 

Из этого

            <?php
            $i = 1;
            foreach ($func->servers as $key=>$value){
                echo '<input id="r'.$i.'" type="radio" name="server" value="'.$key.'" hidden>';
                echo '<label for="r'.$i.'"><i class="fa fa-circle" aria-hidden="true"></i>'.$key.'</label>';
                $i++;
            }
            ?>

В это

<select class="justrp__main-container__big-template__select justrp-btn justrp-btn_light w-100">
									<option disabled selected value="0">
										Выберите сервер
									</option>
									<option value="1">Название сервера 1</option>
									<option value="2">
										Название сервера 2
									</option>
									<option value="3">
										Название сервера 3
									</option>
								</select>

Объясните как это сделать)

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

foreach перебирает каждую пару ключ-значение из $func->servers и кладет ключ в $key, а значение в $value. 

Функция echo выводит это в поток вывода (т.е. можно сказать формирует html-страничку). 

$i - номер, начиная с единицы. 

Соответственно, получится что-то вроде: 

function generateSelectWithServers( $servers )
{
      echo '<select class="justrp__main-container__big-template__select justrp-btn justrp-btn_light w-100">';
      foreach( $servers as $key => $value ) 
      {
          echo '<option value="'.$key.'">'.$value.'</option>';
      }
      echo '</select>';
}

Соответственно, переменная $i тут вообще не нужна, в качестве значения для option может быть любая строка, которая потом и будет передана на сервер. Там может быть внутренний ID объекта, или какой-то другой его атрибут. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу