2012-04-26 63 views
1

我有一個顯示使用jQuery排序列表框

<option value="1.01">(I)Ally Bank-Internet (1.01)</option> 
<option value="1.03">(I)Alostar Bank-Internet (1.03)</option> 
<option value="0.55">(I)American Express Bank-Salt Lak (0.55)</option> 

我想排序上的按鈕點擊事件值的列表框lstPresentRates。

我試過,但它顯然不完全正確 -

$('#lstSelectRates'.value.sort()); 

MC

+0

看到這個問題:http://stackoverflow.com /問題/ 45888 /什麼,是最最有效的路到排序的-HTML-選擇選項按值,而 – 2012-04-26 15:57:38

回答

2
var opt = $('select option'); 
    opt.sort(function(a, b) { 
     if(parseFloat($(a).attr('value')) > parseFloat($(b).attr('value'))) 
      return 1; 
     else return -1; 
    }); 
    $('select').empty().html(opt); 
2

這裏是一個jsfiddle

var $sel = $('#lstSelectRates'); 
var $children= $sel.children('option').sort(function(a,b){ 
              a=$(a).attr("value")*1.0; 
              b=$(b).attr("value")*1.0; 
              return a > b ? 1 : -1;}); 

$sel.empty(); 
$children.appendTo($sel);​