2010-06-03 4 views

ответ

14

Вы можете использовать Javascript JQuery, как показано ниже. Я не тестировал его полностью, но он должен работать.

function Sortit() { 
     var $r = $("#MySelect option"); 
     $r.sort(function(a, b) { 
      if (a.text < b.text) return -1; 
      if (a.text == b.text) return 0; 
      return 1; 
     }); 
     $($r).remove(); 
     $("#MySelect").append($($r)); 
     } 

Здесь ваш отборный тег должен иметь идентификатор MySelect. Вы также можете сделать это, используя простой javascript.Это будет сортироваться по отображаемому тексту параметров. Вместо этого, если вы хотите отсортировать по стоимости каждого варианта, можно использовать что-то вроде как ниже

$r.sort(function(a, b) { 
       return a.value-b.value; 
      }); 
0

Если вы не возражаете, используя JQuery плагин, Tablesorter делает хорошую работу.

1

я использовал метод очень похож на @ josephj1989. Однако, если в раскрывающемся списке есть строки как значения, вам все равно нужно назначить значения 1, -1 или 0 (по крайней мере, я сделал это).

function SortList(listname) { 
    var $r = $(listname + " option"); 
    $r.sort(function(a, b) { 
     return (a.value < b.value) ? -1 : (a.value > b.value) ? 1 : 0; 
     //or you can have a.text, b.text, etc 
    }); 
    $($r).remove(); 
    $(listname).append($($r)); 
} 
Смежные вопросы