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

时间:2015-11-06 12:28:50

标签: javascript select

我有这个标记和JavaScript。我无法得到&#34; T&#34;选项(例如)在页面加载时预选。可能吗?     &lt; select id =&#34; serviceType&#34;命名=&#34;的serviceType&#34;类=&#34;形状控制&#34;&GT;       &lt; option value =&#34; S&#34;&gt; S&lt; / option&gt;       &lt; option value =&#34; T&#34;&gt; T&lt; / option&gt;       &lt; option value =&#34; X&#34;&gt; X&lt; / option&gt;     &LT; /选择&GT;     &LT;脚本&GT;         //document.getElementById("serviceType").selectedIndex =&#34; T&#34 ;; // 不工作       var e = document.getElementById(&#34; serviceType&#34;);       e.options [e.selectedIndex] .value =&#34; T&#34 ;; //不起作用     &LT; /脚本&GT; 注意:&#34; T&#34;在数据库调用的PHP中,页面构建时是动态的。所以我的脚本实际上是这样的: =&#34;&lt;? echo $ _POST [&#39; serviceType&#39;]; ?&GT;&#34;

4 个答案:

答案 0 :(得分:5)

您的注释掉的行无效,因为select元素的selectedIndex属性需要您想要选择的元素的序数索引。

&#13;
&#13;
document.getElementById("serviceType").selectedIndex = 1;
&#13;
<select id="serviceType" name="serviceType" class="form-control">
  <option value="S">S</option>
  <option value="T">T</option>
  <option value="X">X</option>
</select>
&#13;
&#13;
&#13;

如果您想通过进行设置,那么您还可以设置元素的value属性

&#13;
&#13;
document.getElementById("serviceType").value= "T";
&#13;
<select id="serviceType" name="serviceType" class="form-control">
  <option value="S">S</option>
  <option value="T">T</option>
  <option value="X">X</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

就这样做:

var e = document.getElementById("serviceType");
e.value="T";

这是工作fiddle

答案 2 :(得分:1)

您必须设置value代码的select而不是option

var e = document.getElementById("serviceType");
e.value = "T";

答案 3 :(得分:0)

最简单的方法是在html5中使用selected

<select id="serviceType" name="serviceType" class="form-control">
  <option value="S">S</option>
  <option value="T" selected>T</option>
  <option value="X">X</option>
</select>