javascript组件——按thead排序的table

这是一个使用javascript编写的表格生成器,支持thead排序。组件能够处理不同数据类型的排序,如整数、浮点数、日期和星期。通过点击表头进行升序或降序排序,并提供了分时函数优化大量数据的渲染。
摘要由CSDN通过智能技术生成
/**
 * options need table title,thead,rowData,$root
 * generated by dx
 */
var TableGenerator = (function(global,$){
    var testIntNum =  / ^[0-9]*$/g,
        testFloatNum  = /^[1-9]\d*.\d*|0.\d*[1-9]\d*$/g,
        testENum = /^([-])?(?!0\d)\d+(\.\d{1,})?(E([-])?\d+)?$/g,
        testDate = /^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/g,
        testWeek = /^(Monday|monday|Tuesday|tuesday|Wednesday|wednesday|Thursday|thursday|Friday|friday|Saturday|saturday|Sunday|sunday)$/g;
//排序
    var tableSort = function(tableOjbect){
        tableOjbect.find('thead th').click(function(){
            var dataType = $(this).attr('data-type') || 'text';
            var index = tableOjbect.find('thead th').index(this) + 1;
            var arr = [];
            var rows = tableOjbect.find('tbody tr');

            $.each(rows,function(index,elem){arr[index] = rows[index]});

            if($(this).hasClass('current')){
                arr.reverse();
            }else{
                arr.sort(Utils.sortStr(index,dataType));

                tableOjbect.find('.current').removeClass('current');
                $(this).addClass('current');
            }

            var fragment = document.createDocumentFragment();
            $.each(arr,function(index){
                fragment.appendChild(arr[index]);
            })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值