我认为在下面的<select>元素上添加一个“value”属性集会导致默认选择包含我提供的“value”的<option>:

<select name=“hall”id=“hall”value=“3”><option>1</option><option>2</option><option>3</option><选项>4</选项><选项>5</选项></选择>

然而,这并没有像我预期的那样奏效。我如何设置默认选择哪个<option>元素?


当前回答

这个例子已经过测试,可以使用页面上的多个<select>元素,也可以使用普通的文本元素。当<select multiple=“true”>时,它还没有测试过将值设置为多个选择,但是您可能可以修改此示例以支持这一点。

将所选属性数据添加到每个<select>元素,并将值设置为要选择的选项的值。使用javascript的querySelectorAll()选择具有刚刚添加的自定义属性的所有元素。

在下面的示例中,当运行时,第一个<select>应显示值user为选中的选项,第二个<select<应显示值admin为选中的选择。

document.querySelectorAll('[data selected]').forEach(e=>{e.value=选定的e.dataset});<select data selected=“user”class=“form control”name=“role”><option value=“public”>普布利卡</选项><option value=“user”>乌坦蒂语</选项><option value=“admin”>管理</选项></选择><select data selected=“admin”class=“form control”name=“role2”><option value=“public”>普布利卡</选项><option value=“user”>乌坦蒂语</选项><option value=“admin”>管理</选项></选择>

其他回答

完整示例:

<select name=“hall”id=“hall”><option>1</option><option>2</option><option selected>3</option><选项>4</选项><选项>5</选项></选择>

大雄回答的改进。此外,您还可以通过隐藏元素“Choose here”来改善下拉列表的视觉效果。

<选择><option selected disabled hidden>选择此处</option><option value=“1”>一个</option><option value=“2”>两个</option><option value=“3”>三个</option><option value=“4”>四个</option><option value=“5”>五个</option></选择>

要使用PHP和JavaScript设置默认值:

State: <select id="State">
<option value="" selected disabled hidden></option>
<option value="Andhra Pradesh">Andhra Pradesh</option>
<option value="Andaman and Nicobar Islands">Andaman and Nicobar Islands</option>
.
.
<option value="West Bengal">West Bengal</option>
</select>
<?php
if(isset($_GET['State'])){
    echo <<<heredoc
<script>
document.getElementById("State").querySelector('option[value="{$_GET['State']}"]').selected = true;
</script>
heredoc;
}
?>

我认为最好的方法是:

<select>
   <option value="" selected="selected" hidden="hidden">Choose here</option>
   <option value="1">One</option>
   <option value="2">Two</option>
   <option value="3">Three</option>
   <option value="4">Four</option>
   <option value="5">Five</option>
</select>

为什么不禁用?

当您将禁用属性与<button type=“reset”>一起使用时,重置</button>值不会重置为原始占位符。相反,浏览器选择第一个未禁用选项,这可能会导致用户错误。

默认空值

每个生产表单都有验证,那么空值应该不是问题。这样我们可能会有空的不需要的选择。

XHTML语法属性

selected=“selected”语法是兼容XHTML和HTML5的唯一方法。这是正确的XML语法,一些编辑可能对此感到高兴。它更向后兼容。如果XML遵从性很重要,则应遵循完整的语法。

所选属性是布尔属性。

如果存在,它指定在加载页面时应预先选择一个选项。

预先选择的选项将首先显示在下拉列表中。

<select>
  <option value="volvo">Volvo</option>
 <option value="saab">Saab</option>
 <option value="vw">VW</option>
 <option value="audi" selected>Audi</option> 
</select>