1

I have a list box lstPresentRates that displays

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

I would like to sort on value on a button click event.

I tried this but it's apparently not quite right -

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

MC

Abdul Munim
  • 18,869
  • 8
  • 52
  • 61
  • See this question: http://stackoverflow.com/questions/45888/what-is-the-most-efficient-way-to-sort-an-html-selects-options-by-value-while – Mike Webb Apr 26 '12 at 15:57

2 Answers2

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);
thecodeparadox
  • 86,271
  • 21
  • 138
  • 164
2

Here is a 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);​
Pencho Ilchev
  • 3,201
  • 18
  • 21