2013-04-14 38 views
5

Bất kỳ đề xuất nào về cách sử dụng/sắp xếp lại các yếu tố <option> bên trong đó <select>? Đây là html:Sắp xếp lại các tùy chọn trong danh sách SELECT với jQuery

<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> 

Tôi cần nó để được theo cách này:

<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> 

Cần đề cập đến mà tôi không thể sửa đổi html. Tôi đã cố gắng sử dụng chức năng sort() của jQuery nhưng không biết cách thực hiện.

Trả lời

8

Bạn có thể sử dụng phương thức reverse.

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

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

http://jsfiddle.net/3UWx6/

+1

oh người đàn ông cảm ơn rất nhiều! tôi không biết nó có thể dễ dàng như vậy, cảm ơn bạn! – aspirinemaga

4

Ví dụ: để di chuyển tùy chọn thứ 3 trước tùy chọn thứ nhất, chúng tôi có thể sử dụng dưới đây jquery:

Các vấn đề liên quan