Как предварительно выбрать вариант в раскрывающемся меню в 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?

12.10.2009 22:09:51
проверить этот вопрос stackoverflow.com/questions/149573/...
eKek0 12.10.2009 22:13:08
3 ОТВЕТА
РЕШЕНИЕ

вам нужно использовать

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

следите за цифрой 1 справа. это означает, что выбран

5
12.10.2009 22:12:02
это значение должно отличаться от ложного, только это
Gabriel Sosa 12.10.2009 22:14:09
спасибо за Ваш ответ. но если я хочу проверить, если выбранное значение, например, select your valueявляется стандартным значением, и это так: selbox.options[selbox.options.length] = new Option('Select your value', '', 1);как вы сказали. Как бы я это сделал? сейчас у меня есть это. if(sel == null || sel == "") { alert("The dropdown list can't be empty."); return false; } но он все еще принимает форму отправки. в то же время давая предупреждение.
BRoebie 16.11.2015 12:27:34

попробуй это:

var foo = document.getElementById('yourSelect');
if (foo)
{
  foo.selectedIndex = 0;
}
0
12.10.2009 22:14:27

Могу ли я предложить вам сделать ваш код чище, например, так:

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 )

1
13.10.2009 00:00:10