如何在使用JavaScript中预选<select>列表项

H. *_*nce 2 javascript select

我有这个标记和JavaScript.我无法在页面加载时预先选择"T"选项(例如).可能吗?

    <select id="serviceType" name="serviceType" class="form-control">
      <option value="S">S</option>
      <option value="T">T</option>
      <option value="X">X</option>
    </select>
    <script>
        //document.getElementById("serviceType").selectedIndex = "T"; // did not work
      var e = document.getElementById("serviceType");
      e.options[e.selectedIndex].value = "T"; // does not work
    </script>
Run Code Online (Sandbox Code Playgroud)

注意:"T"在PHP调用时的页面构建时是动态的.所以我的脚本实际上是这样的: = "<? echo $_POST['serviceType']; ?>"

Jam*_*iec 6

您注释掉的行不起作用,因为selectedIndexselect元素的属性需要您想要选择的元素的序数索引.

document.getElementById("serviceType").selectedIndex = 1;
Run Code Online (Sandbox Code Playgroud)
<select id="serviceType" name="serviceType" class="form-control">
  <option value="S">S</option>
  <option value="T">T</option>
  <option value="X">X</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如果要按设置,则还可以设置value元素的属性

document.getElementById("serviceType").value= "T";
Run Code Online (Sandbox Code Playgroud)
<select id="serviceType" name="serviceType" class="form-control">
  <option value="S">S</option>
  <option value="T">T</option>
  <option value="X">X</option>
</select>
Run Code Online (Sandbox Code Playgroud)