2011-03-05 22 views
7

Tengo un menú desplegable:elegir mediante programación elemento de menú desplegable de selección

<select> 
    <option value="1">1</option> 
    <option value="2">2</option> 
</select> 

¿Cómo voy a seleccionar el artículo 2 mediante programación?

+0

¿Está hablando de preseleccionar el elemento en la carga de página o seleccionar un elemento de formulario en un sitio web remoto o? –

+0

Necesitará scripting/programación lateral del cliente o del servidor. ¿Cual preferirías? –

+0

Wow muchas formas diferentes de hacerlo. Gracias por todas las respuestas. – CrazyCoder

Respuesta

7

En primer lugar conseguir una manija en ese selecto de alguna manera:

var select = document.getElementsByTagName("SELECT")[0]; 

Entonces manipular la propiedad selectedIndex (creo que es un índice basado en cero):

select.selectedIndex = 1; 
+0

¿O desea seleccionar por valor? Esa es una respuesta diferente. – jpsimons

+0

¿Cómo es la compatibilidad del navegador con 'selectedIndex'? No se pudo encontrar ninguna referencia decente para eso ... –

1
<select> 
    <option value="1">1</option> 
    <option value="2" selected>2</option> 
</select> 
1

edición jQuery ..

$('#your_select').val('2'); 
4

Si es tal rey acerca de la pre-selección de un elemento, basta con poner el artículo como "seleccionado" de la siguiente manera:

<select> 
    <option value="1">1</option> 
    <option value="2" selected="selected">2</option> 
</select> 
+0

Seguramente solo la presencia de 'selected' es suficiente, ¿es un atributo booleano? Por lo que puedo recordar, no requiere un valor. –

+0

@David Thomas: si usa XHTML strict, debe decir selected = "selected". [Ver aquí] (http://www.w3schools.com/Xhtml/xhtml_syntax.asp), entre muchos otros. – DOK

+0

Ah, gracias @DOK :) –

4

Si está utilizando la versión HTML:

<option selected value="2">2</option> 

Si usted es capaz de usar jQuery, utilizar el val() método:

<select id="foo"> //give it an id 

$("#foo").val("2"); 
0

la solución más sencilla es la siguiente:

<select> 
    <option value="1">1</option> 
    <option selected value="2">2</option> 
</select> 
Cuestiones relacionadas