Uso simple_form en mi aplicación.¿Cómo nombrar el valor en blanco en select?
¿Cómo le doy al valor en blanco en mis selecciones un texto diferente a ""?
Acabo de encontrar una opción para incluir en blanco o no.
Uso simple_form en mi aplicación.¿Cómo nombrar el valor en blanco en select?
¿Cómo le doy al valor en blanco en mis selecciones un texto diferente a ""?
Acabo de encontrar una opción para incluir en blanco o no.
Ben,
Depende de cómo se está construyendo sus opciones para la selección. Si lo estás haciendo como el siguiente código, simplemente pasa una cadena al: incluye el espacio en blanco.
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {:include_blank => 'Some text here'})
Si está configurando las opciones con un options_for_select(), entonces usted puede hacer algo como lo siguiente:
options_for_select([["Dollar", "$"], ["Kroner", "DKK"]])
Con el valor = "" siendo el segundo valor de la matriz y el nombre que aparece en el menú desplegable es el primero. Así, en su caso, se puede cambiar la segunda respuesta a este aspecto:
options_for_select([["Some text here", ""], ["Dollar", "$"], ["Kroner", "DKK"]])
Usted puede hacerlo de forma manual mediante la adición de ["Your Text", ""]
al comienzo de la matriz pasada a options_for_select
, o añadir "<option value=\"\">#{h("Your Text"}</option>"
al comienzo de la cadena que se pasa a select_tag
.
En lugar de
:include_blank => true
Trate
:include_blank => "your text here"
si esto es lo que busca.
no realmente, eso establece la etiqueta, no el valor (atributo) – zappan
Aunque no fue la respuesta a la pregunta, fue la respuesta a mi pregunta, ya que quería establecer la etiqueta en blanco, saludos. –
Esto no funcionará para los métodos 'select_tag' pero funcionará con los métodos' select'. (Y, sí, son _ diferentes). Usar una cadena para el valor en 'include_blank' solo proporcionará una opción en blanco sin cadena. Use 'prompt' en ese caso. –
Si está utilizando la función select_tag(name, option_tags = nil, options = {})
, la opción correcta es :prompt => "Some text"
en lugar de establecer un valor de cadena para select
Me llevó demasiado tiempo darme cuenta de que es diferente para select_tag que para una selección tradicional. Gracias. – zarazan
etiqueta se comporta de manera muy diferente en todo el lugar. me dispara todo el tiempo, también. – Dudo
Esto es absolutamente correcto y un poco complicado de entender. 'select_tag' ** aceptará ** una opción' include_blank', pero NO mostrará el texto que pasa como el valor de esa opción. Necesitas usar 'prompt' para eso. Gracias @Georgi! –
Esto no fue preguntado, pero si desea que la opción en blanco para no ser seleccionable puede agregar ': include_blank => true, disabled: "", seleccionado: "", marcador de posición: "Foo Bar" ' – MCB
Georgi tiene una mejor respuesta, a continuación. en lugar de 'include_blank', use' prompt: 'Which person?' 'Tendrá un valor en blanco, pero el texto de visualización que proporcione. 'include_blank' solo acepta un booleano; no acepta una cadena para mostrar. –