Есть страница с формой, где пользователь вводит дату. При нажатии на button, вычисляется нужные данные, но форма обнуляется. То есть в форме опять показываются первые значения select option. Нужно, чтобы в выбранные пользователем option стали с атрибутом selected, после нажатия на button были опять показаны в форме. Делаю так:
<option value="05" <?php if ($_POST["days"] == 5) {echo "selected";} ?>>5</option>
<option value="06" <?php if ($_POST["days"] == 6) {echo "selected";} ?>>6</option>
но слишком много строк, есть ли другой способ?
Как насчёт выводить все эти строки в цикле?
<?
for ($i = 1; $i<=31; $i++) {
?><option value="<?=$i?>"<?
if ($_POST["days"] === $i) {
?> selected<?
}
?>><?=$i?></option><?
}
?>
Можно сократить вот таким образом:
<option value="05" <?= $_POST["days"] == 5 ? "selected" : "" ?>>5</option>
В идеале должен быть "виджет", который бы принимал массив всех элементов, а некоторые из которых имели бы св-во "выбранный" Например:
$elements = [
['value' => '05', 'selected' => false],
['value' => '06', 'selected' => true]
];
<?= Widget::dropDownList($elements);?>
Тогда метод Widget::dropDownList
должен выводить тэг select
.
Можно вот такую схему приспособить под вашу задачу. Только в вашем случае список перебирать через foreach
$selected[$show]=' selected="selected"';
echo '<select name="show">'."\n";
echo '<option value="1"'.$selected['1'].'>Активен</option>'."\n";
echo '<option value="0"'.$selected['0'].'>Не активен</option>'."\n";
echo '</select>'."\n";
unset($selected);
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
ЗдравствуйтеТребуется создать xml и записать не данные а сам xml файл в таблицу Oracle
Имеется выбор между arduino и raspberry pi, но думаю, что важнее технологияС ардуиной более менее понятно: отправил данные на com port, получил, обработал...
Подскажите как можно реализовать отображение последних открытых файлов в RichTextBox? Нужно чтобы эти файлы отображались в виде списка и можно...
Ошибка при подключение к Windows Server по SSH