簡體   English   中英

如何在javascript的下拉列表中預先選擇一個選項?

[英]how to pre-select an option in a dropdown in javascript?

我有一個下拉代碼

if (chosen == "Parade") {
  selbox.options[selbox.options.length] = new Option("Select Venue","");
  selbox.options[selbox.options.length] = new Option("Benavides Park","Benavides Park");
  selbox.options[selbox.options.length] = new Option("CME Auditorium","CME Auditorium");
  selbox.options[selbox.options.length] = new Option("Engineering Sports Complex","Engineering Sports Complex");
  selbox.options[selbox.options.length] = new Option("Field in front of Grandstand","Field in front of Grandstand");
  selbox.options[selbox.options.length] = new Option("Plaza Mayor","Plaza Mayor");
  selbox.options[selbox.options.length] = new Option("Quadricentennial Park","Quadricentennial Park");
  selbox.options[selbox.options.length] = new Option("Rectors Hall","Rectors Hall");
  selbox.options[selbox.options.length] = new Option("Seminary Gym","Seminary Gym");
  selbox.options[selbox.options.length] = new Option("Tinoco Park","Tinoco Park");
  selbox.options[selbox.options.length] = new Option("UST Grandstand","UST Grandstand");
  selbox.options[selbox.options.length] = new Option("UST Gymnasium","UST Gymnasium");
  selbox.options[selbox.options.length] = new Option("Venue not listed/outside UST","Venue not listed/outside UST");
}

選項“ Benavides Park”作為默認值的代碼是什么? 在HTML中是這樣的

selected="selected"

在javascript中呢?

你需要使用

new Option("UST Grandstand","UST Grandstand", 1);

請注意右側的1。 多數民眾贊成意味着選擇

我可以建議您使代碼更簡潔,例如:

var selectedItem = -1; // change to select different item
var options = ["Benavides Park", "CME Auditorium", "Engineering Sports Complex", "Field in front of Grandstand", "Plaza Mayor", "Quadricentennial Park", "Rectors Hall", "Seminary Gym", "Tinoco Park", "UST Grandstand", "UST Gymnasium", "Venue not listed/outside UST"];

selbox.add( new Option("Select Venue", "", (-1 == selectedItem) ? 1 : 0));
for (var i = 0; i < options.length; i++) {
   selbox.add( new Option(options[i], options[i], (i == selectedItem) ? 1 : 0) );
}

對我來說,這感覺更好,因為只要您想更改一個值,就可以在數組中更改它的值。 而且這也可以單獨重構為僅接受數組和選擇框以將項目加載到其中的函數。

(經過chrome測試,但應該可以在大多數地方使用;您可以在w3schools上找到針對IE6進行修復的黑客工具。此外,如果選擇框中包含項,那么它們將保留。您可能要先使用來自此處的代碼: http : //www.plus2net.com/javascript_tutorial/list-remove.php

嘗試這個:

var foo = document.getElementById('yourSelect');
if (foo)
{
  foo.selectedIndex = 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM