У меня есть create.php, который создает пользователя, и edit.php для редактирования информации о студенте.
Я новичок в PHP, поэтому, если это очень простой метод, пожалуйста, скажите.
Я искал для получения значения, которое уже было установлено в раскрывающемся списке, но единственное, что я нашел:
а.) Они только печатают выбранное значение, но не извлекают уже установленную опцию.
образец кода:
<p>Schedule</p>
<select value="<?= $data->schedule; ?>" name = "schedule">
<?php
$schedule = array ('Morning', 'Afternoon');
foreach ($schedule as $sched) { ?>
<option value="<?php echo $sched; ?>"><?php echo $sched; ?></option>
</select>
<?php } ?>
б.) Я не знаю javascript, я пробовал его, но, поскольку я не знаю об этом, я не могу заставить его работать.
примеры кодов, которые я пробовал:
<p>Schedule</p>
<select id = "my_select" name = "schedule">
<option id = "o1" id="id1">Morning</option>
<option id = "o2" id="id2">Afternoon</option>
</select>
<script type="text/javascript">
$("#my_select").change(function() {
var id = $(this).find('option:selected').attr('id');
});
</script>
Я тоже пробовал
document.getElementById('schedule').selectedOptions[0].text
но все равно не выводит «полдень»
Это мое последнее средство, так как у меня нет другого ресурса, чтобы найти.
Я добавил изображение того, что я хотел сделать, так как мой вопрос может быть немного запутанным.
Выбирает использование selected
атрибут не значение для определения выбранного состояния.
Так что в вашем коде проверьте значение и затем примените selected
,
<p>Schedule</p>
<select name="schedule">
<?php foreach (['Morning', 'Afternoon'] as $sched): ?>
<option value="<?= $sched ?>"<?= ($data->schedule == $sched ? ' selected' : null) ?>><?= $sched ?></option>
<?php endforeach ?>
</select>
Других решений пока нет …