web-dev-qa-db-fra.com

Comment nommer la valeur vide dans select?

J'utilise simple_form dans mon application.

Comment donner à la valeur vide dans mes sélections un texte différent de ""?

Je trouve juste une option pour inclure le blanc ou non.

29
Ben

Ben,

Cela dépend de la façon dont vous construisez vos options de sélection. Si vous le faites comme le code ci-dessous, passez simplement une chaîne dans le: include blank.

select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {:include_blank => 'Some text here'})

Si vous définissez les options avec un options_for_select (), vous pouvez faire quelque chose comme ceci:

options_for_select([["Dollar", "$"], ["Kroner", "DKK"]])

La valeur = "" étant la deuxième valeur du tableau et le nom qui apparaît dans la liste déroulante étant le premier. Donc, dans votre cas, vous pouvez modifier la deuxième réponse pour ressembler à ceci:

options_for_select([["Some text here", ""], ["Dollar", "$"], ["Kroner", "DKK"]])
53
Josh Moore

Au lieu de

:include_blank => true

Essayer

:include_blank => "your text here"

si c'est ce que vous cherchez.

33

Si vous utilisez la fonction select_tag(name, option_tags = nil, options = {}), l'option correcte est :Prompt => "Some text" plutôt que de définir une valeur de chaîne pour select

22
Georgi

Vous pouvez le faire manuellement en ajoutant ["Your Text", ""] au début du tableau passé à options_for_select, ou ajoutez "<option value=\"\">#{h("Your Text"}</option>" au début de la chaîne passée à select_tag.

1
tsherif