Select2 podmiana wszystkich "selectów" na stronie


(Dawidfajkowski) #1

Hej!

 

Mam problem ponieważ chciałbym aby moje wszystkie selecty na stronie zastały podmienione na select2

 

Mam:

<select name="waluty">
    <option value="EUR">Euro</option>
    <option value="GBP">British Pound</option>
    <option value="CAD">Canadian Dollar</option>
    <option value="HKD">Hong Kong Dollar</option>
</select>

I powiedzmy jeszcze parę innych selectów z rożnymi wartościami "name". Teraz w javascripcie piszę:

$('select').select2({ width: '100%' });

No i nie działa mi formularz bo select2 pakuje to w divy i na dodatek wartość wybrana jest w tagu span:

<div class="select2-container select2-container-active select2-dropdown-open" id="s2id_convert-to"><a href="javascript:void(0)" onclick="return false;" class="select2-choice" tabindex="-1"> <span>Euro</span><abbr class="select2-search-choice-close" style="display:none;"></abbr> <div><b></b></div></a><input class="select2-focusser select2-offscreen" type="text" id="s2id_autogen1" disabled="disabled"></div>

Miał ktoś z tym problemy?


(Kamatori) #2

Zobacz coś takiego: 


(M@ster) #3

Oczywiście że pakuje w DIVy bo Select2 to nazwa biblioteki i nie jest powiedziane że zastępuje ona tag SELECT tagiem SELECT2. Ba, na pewno tego nie robi gdyż taki tag nie istnieje w HTMLu. To jest biblioteka która robi Ci ładne selecty i oczywistym jest że nie będzie to działać w jakiś standardowy sposób, tylko będzie poskładane z różnych elementów. Gdyby istniał tag SELECT2 który robił by to samo to po co była by ta biblioteka? :wink:

 

Kod który wkleiłeś działa dobrze, jeśli w efekcie nie widzisz spodziewanego rezultatu to być może problem tkwi gdzie indziej? (brakujące style na przykład).

 

A co do formularza, strzelam że podpina się ten Select2 pod onSubmit i przekazuje odpowiednio wartość wybraną jeśli nie jest ona przechowywana w żadnych inpucie typu hidden.