В данном уроке мы с вами сделаем класс Select, который будет создавать выпадающий список select. Давайте посмотрим, как мы будем пользоваться описанным классом:
<?php
echo (new Select->setAttr('name', 'list'))
->add( (new Option())->setText('item1') )
->add( (new Option())->setText('item2') )
->add( (new Option())->setText('item3') )
->show();
?>
Результат выполнения кода выведет следующее (форматирование мое):
<select name="list">
<option>item1</option>
<option>item2</option>
<option>item3</option>
</select>
Реализуйте описанные классы Select и Option.
Атрибут selected
Сделаем так, чтобы можно было задать отмеченный по умолчанию пункт списка:
<?php
echo (new Select)
->add( (new Option())->setText('item1') )
->add( (new Option())->setText('item2')->setSelected() )
->add( (new Option())->setText('item3') )
->show();
?>
Результат выполнения кода выведет следующее (форматирование мое):
<select>
<option>item1</option>
<option selected>item2</option>
<option>item3</option>
</select>
Модифицируйте ваш код в соответствии с описанным.
Сохранение выбора
Посмотрим, как мы будем пользоваться нашим классом в составе формы:
<?php
$form = (new Form)->setAttrs(['action' => 'test.php', 'method' => 'GET']);
echo $form->open();
echo (new Input)->setAttr('name', 'test');
echo (new Select->setAttr('name', 'list'))
->add( (new Option())->setText('item1') )
->add( (new Option())->setText('item2') )
->add( (new Option())->setText('item3') )
->show();
echo new Submit;
echo $form->close();
?>
В результате получится следующая форма:
<form action="" method="GET">
<input name="test">
<select>
<option>item1</option>
<option>item2</option>
<option>item3</option>
</select>
<input type="submit">
</form>
Сделайте так, чтобы после отправки формы список сохранял свое выбранное значение.