午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    jquery實現(xiàn)表格本地排序的方法
    來源:易賢網(wǎng) 閱讀:2991 次 日期:2015-03-13 11:31:42
    溫馨提示:易賢網(wǎng)小編為您整理了“jquery實現(xiàn)表格本地排序的方法”,方便廣大網(wǎng)友查閱!

    這篇文章主要介紹了jquery實現(xiàn)表格本地排序的方法,實例分析了jQuery操作數(shù)組實現(xiàn)本地表格排序的技巧,需要的朋友可以參考下

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

    代碼如下:

    <html xmlns="">

    <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'); //隔行變色 奇數(shù)行

    $('tbody tr:even', this).removeClass('odd').addClass('even'); //隔行變色 偶數(shù)行

    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')) { //按數(shù)字排序

    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() {

    //反向排序狀態(tài)聲明

    var newDirection = 1;

    if ($(this).is('.sorted-asc')) {

    newDirection = -1;

    }

    var rows = $table.find('tbody>tr').get(); //將數(shù)據(jù)行轉(zhuǎn)換為數(shù)組

    $.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) + ')');

    //實現(xiàn)反向排序

    if (newDirection == 1) {

    $sortHead.addClass('sorted-asc');

    } else {

    $sortHead.addClass('sorted-desc');

    }

    //調(diào)用隔行變色的函數(shù)

    $table.alternateRowColors($table);

    //移除已排序的列的樣式,添加樣式到當(dāng)前列

    $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>

    </td>

    <td>

    $34.00

    </td>

    <td>

    14 2009

    </td>

    <td>

    </td>

    </tr>

    <tr>

    <td>

    TTmith

    </td>

    <td>

    BJohn

    </td>

    <td>

    </td>

    <td>

    $50.00

    </td>

    <td>

    Mar 2009

    </td>

    <td>

    </td>

    </tr>

    <tr>

    <td>

    CSmith

    </td>

    <td>

    John

    </td>

    <td>

    </td>

    <td>

    $50.00

    </td>

    <td>

    Mar 2009

    </td>

    <td>

    </td>

    </tr>

    <tr>

    <td>

    Smith

    </td>

    <td>

    John

    </td>

    <td>

    </td>

    <td>

    $50.00

    </td>

    <td>

    f32 2009

    </td>

    <td>

    ffttp://www.jb51.net

    </td>

    </tr>

    </tbody>

    </table>

    </div>

    </form>

    </body>

    </html>

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

    更多信息請查看IT技術(shù)專欄

    更多信息請查看腳本欄目
    易賢網(wǎng)手機網(wǎng)站地址:jquery實現(xiàn)表格本地排序的方法
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇剩?/div>

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)