2013-02-13 10 views
8

Ich benutze chosen.js für Dropdowns in einem Formular in einer Grails-Umgebung. Ich möchte die Benutzer in der Lage sein, eine leere Option auszuwählen, aber irgendwie wird es ignoriert. Es muss eine Möglichkeit geben, dies zu tun? Da die Problemumgehung zum Festlegen einer Option wie "select-none" und später in Datenbindung eine if-Bedingung erstellen, wenn select-none value = "" wäre unpretty.jquery gewählt, leer String als Option

mein Problem zeigen:

zum Beispiel des select:

<g:select id="foo" data-placeholder="bar" class="foo chzn-select" style="width: 245px;" tabindex="4" 
        from="${['M', ' ', 'F']}" value="foo" name="titel"/> 

zurückkehren würde:

enter image description here

sicher, dass dies ein schönes Merkmal gewählt ist, aber ich denke, meine Fall ist ein häufiger Fall und vielleicht hat jemand von Ihnen bereits eine Lösung, um dieses Verhalten zu überschreiben

Dank im Voraus

+2

Wäre es hilfreich, wenn Sie die leere Option als erste Option in die Liste aufnehmen? – uchamp

Antwort

3
<g:select name="foo" from="${foos}" noSelection="[' ':' ']" /> 
+0

Danke, das funktioniert! ;) –

13

nach einigen Recherchen fand ich diesen Thread

https://github.com/harvesthq/chosen/issues/93

und meine Lösung wurde das Voranstellen einer Option über JS vor Initialisierung

$("#id").prepend("<option value='' >&nbsp;</option>"); 

So dieses ist gewählt Gelöst, dank &nbsp; und allen, die sich dies angeschaut haben

+2

Dies wird die Option zum Abwählen ausblenden. –

13

Sie können auch * allow_single_deselect * auf true setzen. Dies wird ein "x" haben, mit dem der Benutzer die Option abwählen kann.

$(".chzn-select").chosen({ allow_single_deselect:true }); 
+0

Beachten Sie, dass dies nicht genug ist, es muss auch eine Option mit einem leeren Wert geben. – TeeJay