Есть ли способ получить значение, которое уже было установлено в выпадающем списке выбора?

У меня есть 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

но все равно не выводит «полдень»

Это мое последнее средство, так как у меня нет другого ресурса, чтобы найти.

Я добавил изображение того, что я хотел сделать, так как мой вопрос может быть немного запутанным.

2

Решение

Выбирает использование 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>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]