使用Javascript / Jquery对ListBox项进行排序

时间:2010-06-03 02:07:40

标签: javascript jquery

我有一个列表框,其中包含一些页面上的项目。有没有简单的方法使用Jquery或本机javascript对项目进行排序?

最诚挚的问候,

3 个答案:

答案 0 :(得分:15)

您可以使用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));
        }

此处您选择的标签应具有Id MySelect。您也可以使用普通的javascript执行此操作。这将按选项的显示文本排序。相反,如果要按每个选项的值排序,请使用下面的排序

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

答案 1 :(得分: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)); 
} 

答案 2 :(得分:0)

如果你不介意使用jQuery插件,Tablesorter做得很好。