2013-04-14 2 views
5

<select>の中に<option>要素を整理/並べ替える方法はありますか?ここで はhtmlです:jQueryでSELECTリストのオプションの並べ替え

<select class="required" name="jform[params][language]" id="jform_params_language"> 
    <option value="cs-CZ">Czech (Cestina)</option> 
    <option value="en-GB">English (United Kingdom)</option> 
    <option value="sk-SK">Slovak (Slovencina)</option> 
</select> 

私はそれがこのようにする必要があります。

<select class="required" name="jform[params][language]" id="jform_params_language"> 
    <option value="sk-SK">Slovak (Slovencina)</option> 
    <option value="en-GB">English (United Kingdom)</option> 
    <option value="cs-CZ">Czech (Cestina)</option> 
</select> 

は私がHTMLを変更できないことに言及する必要があります。私はjQueryのsort()関数を使用しようとしましたが、それを行う方法はわかりません。

答えて

8

reverseメソッドを使用できます。例えば

var $sel = $('#jform_params_language'), 
    $o = $sel.children().toArray().reverse(); 

$sel.append($o); //[0].selectedIndex = 0; 

http://jsfiddle.net/3UWx6/

+1

ああ、ありがとう!私はそれがとても簡単かもしれないことを知らなかった、ありがとう! – aspirinemaga

4

1番目のオプションの前に3番目のオプションを移動するには、jqueryの下で使用することができます:

関連する問題