从动态生成的下拉列表中动态选择

时间:2015-06-22 06:42:41

标签: php html select drop-down-menu

我有一个动态生成的下拉列表 - 课程标识符和名称列表。在变量“assigned_course_id”的基础上,我想从下拉列表中预先选择适当的值。我最好的尝试如下。在此先感谢您的帮助。

<select name="course_id" id="course_id">
  <?php
       $assigned_course_id = $assignment['course_id'];
       foreach($courses as $course) { ?>
       <option value="<?= $course['course_id']?><?php if ($assigned_course_id == $course['course_id']) echo "selected";  ?>"><?= $course['course_name'] ?></option>
  <?php } ?>
</select> 

2 个答案:

答案 0 :(得分:1)

这是因为您没有结束value属性,因此您选择的选项变为<option value="optionvalueselected" - &#39; optionvalue&#39;是您所选选项的价值,并且已选择&#39;是您想要设置的属性,但由于您从未结束value

,因此无法设置

以下内容应该有效:

<select name="course_id" id="course_id">
  <?php
       $assigned_course_id = $assignment['course_id'];
       foreach($courses as $course) { ?>
       <option value="<?= $course['course_id']?>" <?php if ($assigned_course_id == $course['course_id']) { echo "selected"; } ?>><?= $course['course_name'] ?></option>
  <?php } ?>
</select>

答案 1 :(得分:0)

我认为这将完成工作

<select name="course_id" id="course_id">
      <?php
           $assigned_course_id = $assignment['course_id'];
           foreach($courses as $course) { 
            $selected = "";
           if ($assigned_course_id == $course['course_id']) {
              $selected =  "selected";
           }
           echo '<option value="'.$course['course_id'].'" '.$selected.'> '.$course['course_name'] .'</option>';
       } ?>
    </select>