zoukankan      html  css  js  c++  java
  • jQuery 小实例 关于按字母排序

    jQuery的强大再次不再赘述

    一般情况下操作表格式数据的一种最常见的任务就是排序,在一个大型的表格中,能够对要寻找的信息进行重新排列是非常重要的,一般情况用来完成排序的方式有两种

    :一种是服务器端排序,另一种是javascript排序,今天就来说说第二种排序:即脚本排序

    上代码

    <table class="sortable">
            <thead>
                <tr>
                    <th></th>
                    <th class="sort-alpha">Title</th>
                    <th>Author</th>
                    <th>Publish Date</th>
                    <th>Price</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>
                        <img src="Images/accent.png" />
                    </td>
                    <td>zuilding
                    </td>
                    <td>Hagen Graf
                    </td>
                    <td>Feb 2007
                    </td>
                    <td>$40.49
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src="Images/bullet.png" />
                    </td>
                    <td>Learning
                    </td>
                    <td>Douglas Paterson
                    </td>
                    <td>Dec 2006
                    </td>
                    <td>$40.49
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src="Images/accent.png" />
                    </td>
                    <td>Observations
                    </td>
                    <td>Hagen Graf
                    </td>
                    <td>Feb 2007
                    </td>
                    <td>$40.49
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src="Images/accent.png" />
                    </td>
                    <td>Global
                    </td>
                    <td>Hagen Graf
                    </td>
                    <td>Feb 2007
                    </td>
                    <td>$40.49
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src="Images/accent.png" />
                    </td>
                    <td>China's
                    </td>
                    <td>Hagen Graf
                    </td>
                    <td>Feb 2007
                    </td>
                    <td>$40.49
                    </td>
                </tr>
            </tbody>
    
        </table>
    

     以上就是做一个简单的排序的表格,按标题进行排序

    <script type="text/javascript">
            $(document).ready(function () {
    //这个方法是对奇偶行样式的控制 var altercolumu = function ($table) { $('tbody tr:odd', $table).removeClass('even').addClass('odd'); $('tbody tr:even', $table).removeClass('odd').addClass('even'); } $('table.sortable').each(function () { var $table = $(this); altercolumu($table); $('th', $table).each(function (column) {
    //遍历th标签找到class的属性为sort-alpha进行操作 if ($(this).is('.sort-alpha')) {
    //设置鼠标移入和移除时的样式 $(this).addClass('.clickable').hover(function () { $(this).addClass('.hover'); }, function () { $(this).removeClass('.hover'); }).click(function () {
    //在这里出发click事件时获取行元素的信息 var rows = $table.find('tbody > tr').get();
    //这里主要调用sort这个方法进行排序
    rows.sort(); rows.sort(function (a, b) { var keyA = $(a).children('td').eq(column).text().toUpperCase(); var keyB = $(b).children('td').eq(column).text().toUpperCase(); if (keyA < keyB) return -1; if (keyA > keyB) return 1; return 0; });
    //重新排序后在进行显示的输出 $.each(rows, function (index, row) {
    //这里面我用了append的方法因为这个方法不会复制节点,并且该方法会移动表格行而不是复制表格行 $table.children('tbody').append(row); }); altercolumu($table); }); } }); }); }); </script>

     这么一个小例子就完成了,可能写的不是很好,求指教

  • 相关阅读:
    20160421
    20160420笔记
    第一个随笔
    搬家
    OO第十五次作业
    OO第三次博客作业
    OO5-7次作业总结
    从入门到不放弃——OO第一次作业总结
    第八次团队作业——系统设计和任务分配
    第七次作业-团队选题报告和需求规格说明书
  • 原文地址:https://www.cnblogs.com/dragonbattlesun/p/3452015.html
Copyright © 2011-2022 走看看