我有一个列表框,其中包含一些页面上的项目。有没有简单的方法使用Jquery或本机javascript对项目进行排序?
最诚挚的问候,
答案 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做得很好。