亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jquery實現表格本地排序的方法

2019-11-20 12:59:10
字體:
來源:轉載
供稿:網友

本文實例講述了jquery實現表格本地排序的方法。分享給大家供大家參考。具體實現方法如下:

復制代碼 代碼如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>jquery 表格排序</title>
    <style type="text/css">
        thead
        {
            background-color: Blue;
            color: White;
        }
        tr.odd
        {
            background-color: #ddd;
        }
        tr.even
        {
            background-color: #eee;
        }
        .clickable
        {
            text-decoration: underline;
        }
        .hover
        {
            background-color: #5dd354;
        }
        .sorted
        {
            background-color: #ded070;
        }
        .page-number
        {
            color: Black;
            margin:2px 10px;
            padding:2px 5px;
        }
        .active
        {
            border:solid 1px red;
            background-color:#76a7d2;
            }
        .pager
        {
            margin-bottom:10px;
            margin-left:20px;
            }
    </style>
    <script type="text/javascript" language="javascript" src="js/jquery1.3.2.js"></script>
    <script type="text/javascript" language="javascript">
        $(function() {
            jQuery.fn.alternateRowColors = function() {                      //做成插件的形式
                $('tbody tr:odd', this).removeClass('even').addClass('odd'); //隔行變色 奇數行
                $('tbody tr:even', this).removeClass('odd').addClass('even'); //隔行變色 偶數行
                return this;
            };
            $('table.myTable').each(function() {
                var $table = $(this);                       //將table存儲為一個jquery對象
                $table.alternateRowColors($table);          //在排序時隔行變色
                $('th', $table).each(function(column) {
                    var findSortKey;
                    if ($(this).is('.sort-alpha')) {       //按字母排序
                        findSortKey = function($cell) {
                            return $cell.find('sort-key').text().toUpperCase() + '' + $cell.text().toUpperCase();
                        };
                    } else if ($(this).is('.sort-numeric')) {       //按數字排序
                        findSortKey = function($cell) {
                            var key = parseFloat($cell.text().replace(/^[^/d.]*/, ''));
                            return isNaN(key) ? 0 : key;
                        };
                    } else if ($(this).is('.sort-date')) {          //按日期排序
                        findSortKey = function($cell) {
                            return Date.parse('1 ' + $cell.text());
                        };
                    }
                    if (findSortKey) {
                        $(this).addClass('clickable').hover(function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); }).click(function() {
                            //反向排序狀態聲明
                            var newDirection = 1;
                            if ($(this).is('.sorted-asc')) {
                                newDirection = -1;
                            }
                            var rows = $table.find('tbody>tr').get(); //將數據行轉換為數組
                            $.each(rows, function(index, row) {
                                row.sortKey = findSortKey($(row).children('td').eq(column));
                            });
                            rows.sort(function(a, b) {
                                if (a.sortKey < b.sortKey) return -newDirection;
                                if (a.sortKey > b.sortKey) return newDirection;
                                return 0;
                            });
                            $.each(rows, function(index, row) {
                                $table.children('tbody').append(row);
                                row.sortKey = null;
                            });
                            $table.find('th').removeClass('sorted-asc').removeClass('sorted-desc');
                            var $sortHead = $table.find('th').filter(':nth-child(' + (column + 1) + ')');
                            //實現反向排序
                            if (newDirection == 1) {
                                $sortHead.addClass('sorted-asc');
                            } else {
                                $sortHead.addClass('sorted-desc');
                            }
                            //調用隔行變色的函數
                            $table.alternateRowColors($table);
                            //移除已排序的列的樣式,添加樣式到當前列
                            $table.find('td').removeClass('sorted').filter(':nth-child(' + (column + 1) + ')').addClass('sorted');
                            $table.trigger('repaginate');
                        });
                    }
                });
            });
        });
        //分頁
        $(function() {
            $('table.paginated').each(function() {
                var currentPage = 0;
                var numPerPage = 10;
                var $table = $(this);
                $table.bind('repaginate', function() {
                    $table.find('tbody tr').hide().slice(currentPage * numPerPage, (currentPage + 1) * numPerPage).show();
                });
                var numRows = $table.find('tbody tr').length;
                var numPages = Math.ceil(numRows / numPerPage);
                var $pager = $('<div class="pager"></div>');
                for (var page = 0; page < numPages; page++) {
                    $('<span class="page-number"></span>').text(page + 1)
                     .bind('click', { newPage: page }, function(event) {
                         currentPage = event.data['newPage'];
                         $table.trigger('repaginate');
                         $(this).addClass('active').siblings().removeClass('active');
                     }).appendTo($pager).addClass('clickable');
                }
                $pager.insertBefore($table);
                $table.trigger('repaginate');
                $pager.find('span.page-number:first').addClass('active');
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <table class="myTable paginated">
            <thead>
                <tr>
                    <th class="sort-alpha">
                        Last Name
                    </th>
                    <th class="sort-alpha">
                        First Name
                    </th>
                    <th>
                        Email
                    </th>
                    <th class="sort-numeric">
                        Due
                    </th>
                    <th class="sort-date">
                        Date
                    </th>
                    <th>
                        Web Site
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>
                        tmith
                    </td>
                    <td>
                        erthn
                    </td>
                    <td>
                        eth@gmail.com
                    </td>
                    <td>
                        $34.00
                    </td>
                    <td>
                       14 2009
                    </td>
                    <td>
                        ftp://www.baidu.com
                    </td>
                </tr>
                <tr>
                    <td>
                        TTmith
                    </td>
                    <td>
                        BJohn
                    </td>
                    <td>
                        jsmith@gmail.com
                    </td>
                    <td>
                        $50.00
                    </td>
                    <td>
                        Mar 2009
                    </td>
                    <td>
                        ftp://www.baidu.com
                    </td>
                </tr>
                <tr>
                    <td>
                        CSmith
                    </td>
                    <td>
                        John
                    </td>
                    <td>
                        DDDD@gmail.com
                    </td>
                    <td>
                        $50.00
                    </td>
                    <td>
                        Mar 2009
                    </td>
                    <td>
                        //www.49028c.com
                    </td>
                </tr>
                <tr>
                    <td>
                        Smith
                    </td>
                    <td>
                        John
                    </td>
                    <td>
                        sdsf@gmail.com
                    </td>
                    <td>
                        $50.00
                    </td>
                    <td>
                        f32 2009
                    </td>
                    <td>
                        ffttp://www.49028c.com
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
    </form>
</body>
</html>

希望本文所述對大家的jquery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
2019av中文字幕| 97视频人免费观看| 日韩在线观看免费全集电视剧网站| 国产亚洲日本欧美韩国| 日韩av在线电影网| 国产在线精品播放| 精品久久久久久电影| 亚洲视频综合网| 亚洲乱码国产乱码精品精天堂| 伦理中文字幕亚洲| 91精品国产一区| 国产精品xxxxx| 国产精品久久久久久五月尺| 亚洲色图av在线| 久久久久国产一区二区三区| 北条麻妃一区二区三区中文字幕| 午夜美女久久久久爽久久| 视频在线观看99| 97人人模人人爽人人喊中文字| 久久久久亚洲精品成人网小说| 国产一区二区三区高清在线观看| 欧美性生交大片免费| 亚洲自拍偷拍第一页| 精品欧美一区二区三区| 国产精品一区二区电影| 国产一区视频在线播放| 69久久夜色精品国产7777| 国产成人极品视频| 狠狠色香婷婷久久亚洲精品| 亚洲欧洲一区二区三区在线观看| 国产精品视频一区国模私拍| 亚洲国产精品999| 亚洲人成网站色ww在线| 日韩精品亚洲精品| 92国产精品久久久久首页| 伊人久久大香线蕉av一区二区| 国产欧美在线播放| 亚洲国产美女精品久久久久∴| 成人黄色av播放免费| 欧美成年人视频| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品99久久久久久久久久久久| 国产精品视频最多的网站| 久久影院在线观看| 精品国产一区二区三区在线观看| 欧美高清视频在线| 美女福利精品视频| 国产97在线|亚洲| 国产91网红主播在线观看| 国产91色在线|| 在线精品国产成人综合| 成人h猎奇视频网站| 欧美激情一区二区三区成人| 一本大道香蕉久在线播放29| 国产精品www网站| 亚洲专区中文字幕| 97婷婷涩涩精品一区| 国产一区二区三区高清在线观看| 成人网欧美在线视频| 欧美午夜宅男影院在线观看| 欧美精品九九久久| 久久久av电影| 欧美黑人一级爽快片淫片高清| 久久91亚洲精品中文字幕奶水| 日韩免费观看av| 中文字幕亚洲欧美日韩高清| 久久国产视频网站| 国产精品黄视频| 在线播放国产一区二区三区| 26uuu另类亚洲欧美日本一| 91精品视频大全| 国产精品高潮呻吟视频| 成人夜晚看av| 日韩美女福利视频| 亚洲自拍中文字幕| 亚洲男人天堂2023| 国产成人高清激情视频在线观看| 精品激情国产视频| 久久久久久国产精品三级玉女聊斋| 国产91对白在线播放| 欧美一乱一性一交一视频| 欧美另类99xxxxx| 日韩精品在线私人| 欧美高跟鞋交xxxxhd| 91精品国产91久久久久久久久| 久久青草精品视频免费观看| 精品亚洲永久免费精品| 日韩中文字幕在线观看| 欧美色道久久88综合亚洲精品| 日本午夜精品理论片a级appf发布| 成人免费网站在线看| 成人午夜两性视频| 欧美一级成年大片在线观看| 中文精品99久久国产香蕉| 97国产一区二区精品久久呦| 国产成人精品亚洲精品| 久久人91精品久久久久久不卡| 日本高清不卡在线| 国产在线观看精品一区二区三区| 欧美精品在线免费观看| 亚洲精品影视在线观看| 亚洲欧美日韩天堂一区二区| 精品动漫一区二区| 97碰碰碰免费色视频| 久久精品2019中文字幕| 在线性视频日韩欧美| 亚洲激情免费观看| 亚洲精品久久久久中文字幕欢迎你| 久久久久99精品久久久久| 日韩有码在线电影| 日本国产欧美一区二区三区| 91中文字幕在线观看| 中文字幕不卡在线视频极品| 亚洲片av在线| 国产精品日韩精品| 久久影视电视剧免费网站清宫辞电视| 日韩美女视频中文字幕| 亚洲美女av黄| 久久久视频精品| 在线电影欧美日韩一区二区私密| 在线看欧美日韩| 国产一区二区三区中文| 国产欧美日韩亚洲精品| 日本国产欧美一区二区三区| 亚洲第一色在线| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧美综合区自拍另类| 欧美日韩在线第一页| 成人免费视频在线观看超级碰| 日韩国产精品亚洲а∨天堂免| 日韩av中文在线| 91极品女神在线| 欧美激情精品久久久久久| 少妇精69xxtheporn| 亚洲人成电影网站色| 久久精品国产欧美亚洲人人爽| 国产日韩欧美在线| 77777亚洲午夜久久多人| 国产网站欧美日韩免费精品在线观看| 成人有码在线播放| 欧美一级淫片videoshd| 日韩在线国产精品| 亚洲第一精品电影| 成人午夜一级二级三级| 成人综合国产精品| 伊人久久综合97精品| 91精品啪aⅴ在线观看国产| 亚洲色图欧美制服丝袜另类第一页| 精品国产老师黑色丝袜高跟鞋| 色综合91久久精品中文字幕| 亚洲丝袜在线视频| 91久久久精品| 色妞色视频一区二区三区四区| 亚洲男女自偷自拍图片另类| 在线精品高清中文字幕| 91青草视频久久| 国产精品成人av性教育| 91免费的视频在线播放| 欧美精品videosex牲欧美| 国产精品亚洲一区二区三区| 亚洲影院色在线观看免费| 91国产精品电影| 精品一区二区三区三区| 91精品国产精品|