Quiero establecer una opción que se seleccionó previamente para que se muestre en la carga de la página. Lo probé con el siguiente código:
$("#gate").val('Gateway 2');
con
<select id="gate">
<option value='null'>- choose -</option>
<option value='gateway_1'>Gateway 1</option>
<option value='gateway_2'>Gateway 2</option>
</select>
Pero esto no funciona. ¿Algunas ideas?
jquery
html
jquery-selectors
html-select
Voto a favor
fuente
fuente
Respuestas:
Esto definitivamente debería funcionar. Aquí hay una demostración . Asegúrese de haber colocado su código en
$(document).ready
:fuente
'Gateway 2'
pasa a la funciónval
coincide con el valor delvalue
atributo de la opción de selección, no con su texto. Vea este JSFiddle , que es una versión ligeramente editada de la demostración de Darin, como un ejemplo de lo que quiero decir.fuente
$('#gate').val('Gateway 2').prop('selected', true);
fuente
$('#your-select-box-id :nth-child(2)').prop('selected', true)
que funciona, con actualización visual del cuadro desplegable.He encontrado que usar el método jQuery .val () tiene un inconveniente significativo.
Si este cuadro de selección (o cualquier otro objeto de entrada) está en un formulario y se usa un botón de reinicio en el formulario, cuando se hace clic en el botón de reinicio, el valor establecido se borrará y no se reiniciará al valor inicial como era de esperar.
Esto parece funcionar mejor para mí.
Para cuadros seleccionados
Para entradas de texto
Para entradas de área de texto
Para casillas de verificación
Para botones de radio
fuente
fuente
Eso funciona bien Vea este violín: http://jsfiddle.net/kveAL/
¿Es posible que necesite declarar su jQuery en un
$(document).ready()
controlador?Además, ¿podría tener dos elementos que tengan la misma ID?
fuente
Esta sería otra opción:
fuente
Yo tuve el mismo problema.
Solución: agregue una actualización.
fuente
Sé que hay varias iteraciones de respuestas, pero ahora esto no requiere jquery ni ninguna otra biblioteca externa y se puede lograr de manera bastante sencilla con lo siguiente.
fuente
Algunos casos pueden ser
fuente
Mi problema
Tuve el mismo problema La única diferencia con su código es que estaba cargando el cuadro de selección a través de una llamada ajax y tan pronto como se ejecutó la llamada ajax había establecido el valor predeterminado del cuadro de selección
La solución
fuente
Tuve un problema donde el valor no se estableció debido a un error de sintaxis antes de la llamada.
Verifique si hay errores de sintaxis antes de la llamada.
fuente
fuente
fuente
.attr()
ha sido la forma incorrecta de hacerlo desde mucho antes de que se publicara esta respuesta.Adición a @icksde y @Korah (¡gracias a ambos!)
Al compilar las opciones con AJAX, el documento. Ready puede activarse antes de que se construya la lista, por lo que
Esto no funciona
Esto hace
Un tiempo de espera funciona, pero como dice @icksde es frágil (en realidad necesitaba 20 ms en lugar de 10 ms). Es mejor ajustarlo dentro de la función AJAX de esta manera:
fuente