【问题标题】:Dynamically select from a dynamically generated dropdown从动态生成的下拉列表中动态选择
【发布时间】:2015-09-07 12:35:29
【问题描述】:

我有一个动态生成的下拉列表 - 课程标识符和名称列表。基于变量“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> 

【问题讨论】:

标签: php html select drop-down-menu


【解决方案1】:

这是因为您没有结束 value 属性,所以您选择的选项变为 &lt;option value="optionvalueselected" -- 'optionvalue' 是您选择的选项的值,而 'selected' 是您要设置的属性,但不会设置,因为你从未结束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>

【讨论】:

  • 优秀的标记!像魅力一样工作!谢谢你的课友!
【解决方案2】:

我认为这会起作用

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

【讨论】:

  • 为什么这会起作用以及为什么有问题的代码不起作用?
  • @NullPoiиteя 看到我的回答。里面有解释
  • 因为问题中没有空格。该值被连接到另一个 html 属性。它造成了混乱。除了保持 php 和 html 分开是一个好习惯
猜你喜欢
  • 2017-02-03
  • 2016-10-28
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多