Io uso simple_form nella mia app.Come nominare il valore vuoto in select?
Come faccio a dare il valore vuoto nel mio seleziona un testo diverso da ""?
Ho appena trovato un'opzione per includere vuoto o no.
Io uso simple_form nella mia app.Come nominare il valore vuoto in select?
Come faccio a dare il valore vuoto nel mio seleziona un testo diverso da ""?
Ho appena trovato un'opzione per includere vuoto o no.
Ben,
Dipende da come si sta costruendo le vostre opzioni per selezionare. Se lo fai come il codice qui sotto, passa una stringa nel campo: include blank.
select("post", "person_id", Person.all.collect {|p| [ p.name, p.id ] }, {:include_blank => 'Some text here'})
Se stai impostando le opzioni con un options_for_select(), allora si può fare qualcosa di simile al seguente:
options_for_select([["Dollar", "$"], ["Kroner", "DKK"]])
Con il valore = "" è il secondo valore nella matrice e il nome che appare nel menu a discesa è il primo. Quindi nel tuo caso, è possibile modificare la seconda risposta a questo aspetto:
options_for_select([["Some text here", ""], ["Dollar", "$"], ["Kroner", "DKK"]])
È possibile farlo manualmente aggiungendo ["Your Text", ""]
all'inizio dell'array passato a options_for_select
, o aggiungere "<option value=\"\">#{h("Your Text"}</option>"
all'inizio della stringa passata a select_tag
.
Invece di
:include_blank => true
Prova
:include_blank => "your text here"
se questo è quello che stai cercando.
non proprio, che imposta l'etichetta, non il valore (attributo) – zappan
Anche se non è la risposta alla domanda - è stata la risposta alla mia domanda come volevo impostare l'etichetta vuota - evviva. –
Questo non funzionerà con i metodi 'select_tag', ma funzionerà con i metodi' select'. (E, sì, essi sono diversi). L'uso di una stringa per il valore in include include solo un'opzione vuota senza stringa. Usa 'prompt' in quel caso. –
Se si utilizza la funzione select_tag(name, option_tags = nil, options = {})
, l'opzione corretta è :prompt => "Some text"
piuttosto che impostare un valore stringa per select
Ci ho messo troppo tempo per capire che è diverso per select_tag rispetto a una selezione tradizionale. Grazie. Il tag – zarazan
si comporta in modo molto diverso in tutto il luogo. mi incalza tutto il tempo, pure. – Dudo
Questo è assolutamente corretto e un po 'difficile da capire. 'select_tag' ** accetta ** un'opzione' include_blank' ma NON visualizza il testo che passi come il valore di quell'opzione. Devi usare 'prompt' per quello. Grazie a @Georgi! –
Questo non è stato chiesto, ma se si desidera che l'opzione vuota non essere selezionabile è possibile aggiungere ': include_blank => true, disabled: "", selezionato: "", segnaposto: "Foo Bar" ' – MCB
Georgi ha una risposta migliore, di seguito. invece di 'include_blank', usa' prompt: 'Quale persona?' 'Avrà un valore vuoto, ma il testo visualizzato che fornisci. 'include_blank' accetta solo un valore booleano - non accetta una stringa da visualizzare. –