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

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

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


当前回答

大雄回答的改进。此外,您还可以通过隐藏元素“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函数生成选项,并将其插入到HTML中

<?php
  # code to output a set of options for a numeric drop down list
  # parameters: (start, end, step, format, default)
  function numericoptions($start, $end, $step, $formatstring, $default)
  {
    $retstring = "";
    for($i = $start; $i <= $end; $i = $i + $step)
    {
      $retstring = $retstring . '<OPTION ';
      $retstring = $retstring . 'value="' . sprintf($formatstring,$i) . '"';
      if($default == $i)
      {
        $retstring = $retstring . ' selected="selected"';
      }
      $retstring = $retstring . '>' . sprintf($formatstring,$i) . '</OPTION> ';
    }

  return $retstring;
  }

?>

然后在我的网页代码中,我使用它如下:;

<select id="endmin" name="endmin">
  <?php echo numericoptions(0,55,5,'%02d',$endmin); ?>
</select>

如果每次加载页面时都从_POST变量创建$endmin(并且此代码位于发布的表单中),则默认情况下会选择先前选择的值。

我使用Angular,并通过以下方式设置默认选项

HTML模板

<select #selectConnection [(ngModel)]="selectedVal" class="form-control  col-sm-6 "  max-width="100px"   title="Select" 
      data-size="10"> 
        <option  >test1</option>
        <option >test2</option>      
      </select>

脚本:

sselectedVal:any="test1";

如果将select与angular 1一起使用,则需要使用nginit,否则,将不会选择第二个选项,因为ng-model会覆盖默认的选定值

<select ng-model="sortVar" ng-init='sortVar="stargazers_count"'>
  <option value="name">Name</option>
  <option selected="selected" value="stargazers_count">Stars</option>
  <option value="language">Language</option>
</select>

这个例子已经过测试,可以使用页面上的多个<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”>管理</选项></选择>

要使用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;
}
?>