2013-02-13 10 views
8

Używam selected.js do Dropdowns w postaci na grails-environment. Chcę, aby użytkownicy mogli wybrać pustą opcję, ale w jakiś sposób jest ona ignorowana. Musi istnieć możliwość zrobienia tego? Ponieważ obejście do ustawienia opcji, takiej jak "select-none", a później w bindowaniu danych, powoduje, że warunek if jeśli select-none value = "" będzie niepoprawny.wybrane jquery, pusty ciąg jako opcja

pokazać mój problem:

na przykład ten Wybierz:

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

wróci:

enter image description here

Oczywiście jest to miły cechą wybrany, ale sądzę, że mój sprawa jest częstym przypadkiem i być może ktoś z was ma już rozwiązanie, które może zastąpić to zachowanie.

góry dzięki

+2

Czy pomógłbyś, gdybyś zawarł pustą opcję jako pierwszą opcję na liście? – uchamp

Odpowiedz

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

Dziękuję, to działa! ;) –

13

po niektórych badań znalazłem ten wątek

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

i mój roztwór poprzedzenie opcji poprzez JS przed inicjalizacji wybrany

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

Więc ten jest Rozwiązany dzięki &nbsp; i wszystkim, którzy obejrzeli ten numer:

+2

Spowoduje to ukrycie opcji cofnięcia wyboru. –

13

Możesz również ustawić * allow_single_deselect * na true. To będzie mieć "x", który pozwala użytkownikowi odznaczyć opcję.

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

Zauważ, że to nie wystarczy, musi też istnieć opcja z pustą wartością. – TeeJay