排序功能无法正常工作

时间:2015-04-14 06:13:32

标签: jquery sorting dataset

我使用以下代码根据数字对项目进行排序,但是它排序错误。

Demo

$('#number').on('click', function() {
                var s = $(this).data('sort');
                console.log(s);
                if (s === 1) {
                    $(this).data('sort', 0);
                    $('.mylist > div').sort(function(a, b) {
                        return a.dataset.sid > b.dataset.sid
                    }).appendTo('.mylist')
                } else {

                    $(this).data('sort', 1);
                    $('.mylist > div').sort(function(a, b) {
                        var temp = a.dataset.sid + " < " + b.dataset.sid
                        console.log(temp);
                        return a.dataset.sid < b.dataset.sid
                    }).appendTo('.mylist')
                }
            });

默认值为10000,1500,8900,0,0

当我点击一次它将是8900 1500 10000 0 0

如果我再次点击它们将是0 0 10000 1500 8900

控制台如下:

10000 < 1500
10000 < 8900
1500 < 8900
0 < 0
10000 < 0


0 < 0
0 < 10000
1500 < 8900
0 < 8900
10000 < 8900
10000 < 1500

1 个答案:

答案 0 :(得分:1)

试试这个:

                $('.mylist > div').sort(function(a, b) {
                    return Number(a.dataset.sid) > Number(b.dataset.sid)
                }).appendTo('.mylist')

您似乎按字符串排序,但您希望按数字排序。