2015-08-26 5 views
-1

У меня есть этот раскрывающийся список, но параметры не установлены в правильном порядке. Есть ли способ их сортировки (исходя из их значения, я думаю) с помощью javascript?Сортировка выпадающего списка с помощью javascript?

<select class="required" name="payment_gateway"> 
<option value="bank-transfer">Bank</option> 
<option value="pay-social">Social</option> 
<option value="paypal">PayPal</option> 
<option value="pronamic_ideal">iDEAL</option> 
</select> 

Нужный сортировка будет:

<select class="required" name="payment_gateway"> 
<option value="pay-social">Social</option> 
<option value="pronamic_ideal">iDEAL</option> 
<option value="bank-transfer">Bank</option> 
<option value="paypal">PayPal</option> 
</select> 
+0

Я настоятельно рекомендую JQuery, если вы не можете, посмотрите на второй ответ: http://stackoverflow.com/questions/667010/sorting-dropdown-list-using-javascript – Kriggs

+1

Возможный дубликат [сортировать меню выбора по алфавиту?] (Http://stackoverflow.com/questions/5248189/sort-select-menu-alphabically) –

+0

Фактически я хотел бы «pay-social» станет первым вариантом. – RobbertT

ответ

0

Попробуйте написать так

var $dropdown = $('.required'), 
    $items = $dropdown.children('option'); 


$items.sort(function(a, b){ 
    var an = a.value, 
     bn = b.value; 
    if (an > bn) { 
     return 1; 
    } 
    if (an < bn) { 
     return -1; 
    } 
    return 0; 
}); 
$items.detach().appendTo($dropdown); 
+0

Привет, Большое спасибо за ваш ответ. Однако это не изменяет порядок. Все остается неизменным. – RobbertT

0

Это, кажется, работает, однако неправильный вариант по-прежнему выбран.

$('.required option[value="pay-social"]').insertBefore('.required option[value="bank-transfer"]'); 
+0

Это может быть исправлено: $ ("form.formcustsort .required"). Prop ("selectedIndex", 0); – RobbertT

0

Вот рабочий пример

<select class="required" name="payment_gateway"><option value="pay-social">Social</option><option value="pronamic_ideal">iDEAL</option><option value="bank-transfer">Bank</option><option value="paypal">PayPal</option></select> 

http://jsfiddle.net/snayps/tdh9up7h/

+0

thannks, но я не уверен, что вы имеете в виду. В примере скрипта параметры уже отсортированы в html .. – RobbertT