有没有办法检索已经在下拉选择选项中设置的值?

时间:2018-03-06 05:07:12

标签: php selection edit dropdown

我有一个创建用户的create.php和用于编辑学生信息的edit.php。

我是PHP的初学者,所以如果这可能是一个非常简单的问题,请告诉我们。

我一直在搜索已经在下拉列表中设置的值,但我发现的唯一内容是:

a。)它们只打印选定的值,而不是检索已设置的选项。

示例代码:

    <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 } ?>

b。)我不知道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

但仍未输出&#34;下午&#34;

这是我的最后一招,因为我没有其他资源可供查找。

I added a picture of what I wanted to do since my question might be a little confusing.

1 个答案:

答案 0 :(得分:1)

选择使用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>