为什么在点击提交按钮后,只有选择标签的第一个值被选中?

3
当我点击提交按钮时,为什么只有选择标签的第一个值被选中,即使我选择了第二个或更多的选项?
<div class="form-group my-3">
   <select class="form-control" name="role">
      <option value="">Select your role</option>
      <option value="1"  <?=(isset($_SESSION['role'])==1) ? 'selected': ''; unset($_SESSION['role']) ?> >Admin</option>
      <option value="2" <?=(isset($_SESSION['role'])==2) ? 'selected': ''; unset($_SESSION['role']) ?>>Modarator</option>
      <option value="3" <?=(isset($_SESSION['role'])==3) ? 'selected': ''; unset($_SESSION['role']) ?>>Editor</option>
   </select
<!-- error msg if role is not selected -->
    <?php if(isset($_SESSION['role_empty'])){ ?>
        <div class="alert alert-warning" role="alert">
           <?php echo $_SESSION['role_empty']; ?>
         </div>                    
    <?php } unset($_SESSION['role_empty']); ?>
</div>

我想要编辑或管理员,但我只得到了管理员,为什么?

2
isset($_SESSION['role']) (参见 isset())将始终返回 truefalse。通过松散比较,这等同于 1 或 0。 - Patrick Q
1
为什么提交表单应该提交多个值?这是一个单选字段,只能选择和提交一个单一的值。 - Nico Haase
1个回答

1

默认情况下,<select> 显示为下拉框,并且只允许您一次选择一个 <option> 元素。可以通过使用 multiple 属性来覆盖此设置,告诉浏览器将元素呈现为列表框并允许选择多个项目。您可以使用 Ctrl 和左键单击手动选择多个元素。

<select class="form-control" name="role" placeholder="Select your role" multiple>
  <option value="1" selected>Admin</option>
  <option value="2" selected>Moderator</option>
  <option value="3">Editor</option>
</select>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接