Pensé que agregar un "value"
conjunto de atributos en el <select>
elemento a continuación provocaría <option>
que "value"
se seleccionara el que contiene mi proporcionado por defecto:
<select name="hall" id="hall" value="3">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
Sin embargo, esto no funcionó como esperaba. ¿Cómo puedo establecer qué <option>
elemento está seleccionado por defecto?
html
html-select
Jichao
fuente
fuente
Respuestas:
Establezca
selected="selected"
la opción que desea que sea la predeterminada.fuente
ng-model
anula el valor predeterminado seleccionado (incluso como indefinido si no configuró el objeto vinculado). Me tomó un tiempo darme cuenta de por qué laselected="selected"
opción no estaba seleccionada.En caso de que desee tener un texto predeterminado como una especie de marcador de posición / pista pero no se considere un valor válido (algo así como "complete aquí", "seleccione su nación", etc.) puede hacer algo como esto:
fuente
hidden
atributo en su lugar. Vea la respuesta de @ chong-lip-phang a continuación: stackoverflow.com/a/39358987/1192426<option value="" selected disabled hidden>Choose here</option>
Ejemplo completo:
fuente
selected="selected"
? Quiero decir, ¿qué estás ahorrando? ¿Hora? ¿Talla? Es insignificante y si hace que el código sea más "compatible", ¿por qué no hacerlo ?Encontré esta pregunta, pero la respuesta aceptada y altamente votada no funcionó para mí. Resulta que si está utilizando React, la configuración
selected
no funciona.En su lugar, debe establecer un valor en la
<select>
etiqueta directamente como se muestra a continuación:Lea más sobre por qué aquí en la página Reaccionar .
fuente
value
atributo para la<select>
etiqueta, es decir<select value="3">
, pero no es válido en el validador W3C.$("select").each(function(){ $(this).find('option[value="'+$(this).attr("value")+'"]').prop('selected', true); });
Puedes hacerlo así:
Proporcione la palabra clave "seleccionada" dentro de la etiqueta de opción, que desea que aparezca de forma predeterminada en su lista desplegable.
O también puede proporcionar un atributo a la etiqueta de opción, es decir
fuente
selected="false"
no está permitido yselected=""
también lo hace seleccionado. La única forma de hacer una opción no seleccionada es eliminar el atributo. w3.org/html/wg/drafts/html/master/…si desea utilizar los valores de un formulario y mantenerlo dinámico, intente esto con php
fuente
Prefiero esto:
'Elegir aquí' desaparece después de seleccionar una opción.
fuente
value=""
para asegurarse de obtener un valor vacío.Una mejora para la respuesta de nobita . También puede mejorar la vista visual de la lista desplegable, ocultando el elemento 'Elegir aquí'.
fuente
La mejor manera en mi opinión:
¿Por qué no deshabilitado?
Cuando usa el atributo deshabilitado junto con el
<button type="reset">Reset</button>
valor no se restablece al marcador de posición original. En cambio, el navegador elige primero la opción no deshabilitada que puede causar errores de usuario.Valor vacío predeterminado
Cada formulario de producción tiene validación, entonces el valor vacío no debería ser un problema. De esta manera, puede que tengamos vacío, no es necesario seleccionar.
Atributos de sintaxis XHTML
selected="selected"
La sintaxis es la única forma de ser compatible con XHTML y HTML 5. Es una sintaxis XML correcta y algunos editores pueden estar contentos con esto. Es más compatible con versiones anteriores. No tengo sentimientos fuertes sobre esto, pero si los argumentos mencionados anteriormente son sus requisitos, debe seguir la sintaxis completa.fuente
Otro ejemplo; usando JavaScript para establecer una opción seleccionada.
(Podría usar este ejemplo para buclear una matriz de valores en un componente desplegable)
<select id="yourDropDownElementId"><select/>
fuente
el.selected = "selected";
para cumplir con el estándar w3?selected
es una propiedad booleana definida por w3c - w3.org/TR/html401/interact/forms.html `17.6.1 Opciones preseleccionadas seleccionadas [CI] - Cuando se establece, este atributo booleano especifica que esta opción es preseleccionado.` Para obtener más información sobre el uso, consulte las escuelas w3c - w3schools.com/jsref/prop_option_selected.aspEl atributo seleccionado es un atributo booleano.
Cuando está presente, especifica que se debe preseleccionar una opción cuando se carga la página.
La opción preseleccionada se mostrará primero en la lista desplegable.
fuente
Si está en reacción, puede usarlo
defaultValue
como atributo en lugar devalue
en la etiqueta de selección.fuente
Si está usando select con angular 1, entonces necesita usar ng-init, de lo contrario, la segunda opción no se seleccionará ya que ng-model anula el valor predeterminado seleccionado
fuente
Usé esta función php para generar las opciones e insertarla en mi HTML
Y luego, en el código de mi página web, lo uso como a continuación;
Si $ endmin se crea a partir de una variable _POST cada vez que se carga la página (y este código está dentro de un formulario que se publica), el valor seleccionado previamente se selecciona de forma predeterminada.
fuente
Falta el atributo de valor de la etiqueta, por lo que no se muestra como se ha seleccionado. Por defecto, la primera opción se muestra en la carga de la página desplegable, si el atributo de valor está configurado en la etiqueta ... Resolví mi problema de esta manera
fuente
Este código establece el valor predeterminado para el elemento de selección HTML con PHP.
fuente
Puedes usar:
en vez de,
Ambos son igualmente correctos.
fuente
Simplemente haría que el valor de la primera opción de selección sea el predeterminado y simplemente oculte ese valor en el menú desplegable con la nueva función "oculta" de HTML5. Me gusta esto:
fuente
Yo mismo lo uso
fuente
Solo necesita poner el atributo "seleccionado" en una opción particular, en lugar de dirigirlo directamente al elemento seleccionado.
Aquí hay un fragmento para el mismo ejemplo de trabajo múltiple con valores diferentes.
fuente
Establecer seleccionado = "seleccionado" donde el valor de la opción es 3
por favor vea el siguiente ejemplo
fuente
El problema
<select>
es que a veces se desconecta con el estado de lo que se procesa actualmente y, a menos que algo haya cambiado en la lista de opciones, no se devuelve ningún valor de cambio. Esto puede ser un problema al intentar seleccionar la primera opción de una lista. El siguiente código puede obtener la primera opción seleccionadaonchange="changeFontSize(this)"
por primera vez, pero por sí misma no lo haría. Existen métodos descritos anteriormente que utilizan una opción ficticia para obligar a un usuario a realizar un cambio de valor para recoger el primer valor real, como comenzar la lista con un valor vacío. Nota: onclick llamaría a la función dos veces, el siguiente código no lo hace, pero resuelve el problema por primera vez.fuente
Uso Angular y configuro la opción predeterminada por
Plantilla HTML
Guión:
fuente
Así es como lo hice ...
fuente
Puedes intentarlo así
fuente
Fragmento de HTML:
Fragmento de JavaScript nativo:
fuente
fuente