Tengo dos select
cuadros HTML . Necesito restablecer un select
cuadro cuando hago una selección en otro.
<select id="name" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
<select id="name2" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
Cuando selecciono una opción de la primera select
(es decir id="name"
), necesito restablecer la segunda select
a select all
; de manera similar, cuando selecciono una opción de la segunda select
(es decir id="name2"
), necesito restablecer la primera select
a select all
.
¿Cómo puedo hacer eso?
javascript
jquery
Anish
fuente
fuente
Respuestas:
Algo como esto debería hacer el truco: https://jsfiddle.net/TmJCE/898/
fuente
<button>
elemento, asegúrese de no configurarlotype="reset"
. No funcionó para mí hasta que configuré el tipo abutton
select
al valor proporcionado.select.prop('selectedIndex', 0)
restablecerá la primera opción, laselect.prop('selectedIndex', 1)
establecerá en la segunda opción.Si solo desea restablecer el elemento de selección a su primera posición, la forma más simple puede ser:
Para restablecer todos los elementos seleccionados en el documento:
EDITAR: para aclarar según un comentario a continuación, esto restablece el elemento de selección a su primera entrada en blanco y solo si existe una entrada en blanco en la lista.
fuente
value=""
puede aparecer en cualquier orden. 2) Una opción sin un atributo de valor,<option></option>
es decir, no es lo mismo que una opción con un atributo de valor de cadena vacía<option value=""></option>
, es decir , y usted dejó en claro que necesitamos lavalue=""
parte 3) Incluso si no hay<option>
un valor de cadena vacía; la configuración.val('')
"afectará el cambio", la selección aparecerá para cambiar a blanco, ¿no es así? Al menos en mi Chrome ...Como señaló @PierredeLESPINAY en los comentarios, mi solución original era incorrecta: restablecería el menú desplegable a la opción superior, pero solo porque el
undefined
valor de retorno se resolvió en el índice 0.Aquí hay una solución correcta, que tiene
selected
en cuenta la propiedad:DEMO : http://jsfiddle.net/weg82/257/
Respuesta original - INCORRECTA
En jQuery 1.6+ necesita usar el
.prop
método para obtener la selección predeterminada:Para restablecerlo dinámicamente cuando cambie el primer menú desplegable, use el
.change
evento:fuente
$('#name2').val( $(this).prop('defaultSelected') );
$(this)
refiere a$('#name')
, no$('#name2')
, así que nodefaultSelected
es una<option>
propiedad, siempre volveráundefined
en un<select>
Use esto si desea restablecer la selección a la opción que tiene el atributo "seleccionado". Funciona de manera similar a la función JavaScript incorporada form.reset () a la selección.
fuente
Esto me ayuda mucho.
fuente
Así es como lo hice funcionar si solo desea volver a su primera opción, por ejemplo, "Elegir una opción" "Select_id_wrap" es obviamente el div alrededor de la selección, pero solo quiero dejar eso en claro en caso de que haya alguna relación con cómo funciona esto. El mío se restablece a una función de clic, pero estoy seguro de que funcionará dentro de un cambio también ...
fuente
Usa el siguiente código. Véalo trabajando aquí http://jsfiddle.net/usmanhalalit/3HPz4/
fuente
Esto también se puede usar
fuente
Esta es la forma más flexible / reutilizable de restablecer todos los cuadros de selección en su formulario.
fuente
Aquí se explica cómo manejarlo con un elemento de opción aleatorio definido como el valor predeterminado (en este caso, el Texto 2 es el predeterminado):
fuente
Puedes probar esto:
fuente
Tuve un problema al usar la propiedad defaultSelected en la respuesta de @Jens Roland en jQuery v1.9.1. Una forma más genérica (con muchas selecciones dependientes) sería poner un atributo de datos por defecto en sus selecciones dependientes y luego iterar a través de ellas al restablecer.
Y el javascript ...
Consulte http://jsfiddle.net/8hvqN/ para obtener una versión funcional de lo anterior.
fuente
Creé una nueva opción en la etiqueta de selección que tiene un valor de cadena vacía ("") y usé:
fuente
Use jquery para vincular el evento onchange para seleccionar, pero no necesita crear otro
$(this)
objeto jquery.fuente
Use este código para restablecer todos los campos de selección a la opción predeterminada, donde se define el atributo seleccionado.
fuente
Aquí está la mejor solución que estoy usando. Esto aplicará para más de 1 slectbox
fuente
La configuración de la opción 1 en el elemento de selección se puede hacer por este segmento. Para mostrarlo visualmente, tiene tp add .trigger ('change') al final.
fuente