精华内容
下载资源
问答
  • jQuery实现表格前端排序功能详解
    2021-03-24 11:14:48

    本文主要介绍了jQuery实现的表格前端排序功能,涉及jQuery针对表格元素的获取、遍历及事件响应相关操作技巧,需要的朋友可以参考下,希望能帮助帮到大家。

    本文实例讲述了jQuery实现的表格前端排序功能。分享给大家供大家参考,具体如下:

    表格前端按列排序

    依赖jQuery(本例使用jQuery-1.8.2)

    1.初始化方法

    (function($){

    //插件

    $.extend($,{

    //命名空间

    sortTable:{

    sort:function(tableId,Idx){

    var table = document.getElementById(tableId);

    var tbody = table.tBodies[0];

    var tr = tbody.rows;

    var trValue = new Array();

    for (var i=0; i

    trValue[i] = tr[i]; //将表格中各行的信息存储在新建的数组中

    }

    if (tbody.sortCol == Idx) {

    trValue.reverse(); //如果该列已经进行排序过了,则直接对其反序排列

    } else {

    trValue.sort(function(tr1, tr2){

    var value1 = tr1.cells[Idx].innerText; //列

    var value2 = tr2.cells[Idx].innerText; //第二列

    value1 = value1.replace("%",""); //把有%的取消掉

    value1=value1.trim(); //去空格

    console.log(typeof(value1));

    if(isNaN(value1)){

    var index1 = value1.indexOf("分");

    var index2 = value2.indexOf("分");

    if(index1>0){

    var num1 =value1.substring(0,index1);

    var num2 =value1.substring(index1+1,value1.length-1);

    var num3 =value2.substring(0,index2);

    var num4 =value2.substring(index2+1,value2.length-1);

    if(parseFloat(num1)>parseFloat(num3)){

    return 1;

    }

    if(parseFloat(num1)

    return -1;

    }

    if(parseFloat(num1)==parseFloat(num3)){

    return parseFloat(num2)-parseFloat(num4)

    }

    }else{

    var a = tr1.cells[Idx].textContent;

    var b= tr2.cells[Idx].textContent;

    return a.localeCompare(b);

    }

    }else{

    return parseFloat(value1)-parseFloat(value2);

    }

    });

    }

    var fragment = document.createDocumentFragment(); //新建一个代码片段,用于保存排序后的结果

    //var index = 0;

    var arrtotal =new Array();

    for (var i=0; i

    var c = trValue[i].cells[0].innerHTML;

    //console.log(c);

    if(c.trim().indexOf("汇总")!=-1){//汇总行总是排在表格最上面

    // index = i;

    arrtotal.push(i);

    }else{

    fragment.appendChild(trValue[i]);

    }

    }

    if(arrtotal.length>0){

    for(var k=arrtotal.length; k<0; k-- ){

    tbody.appendChild(trValue[arrtotal[k]]);

    }

    }

    //tbody.appendChild(trValue[index]);

    tbody.appendChild(fragment); //将排序的结果替换掉之前的值

    tbody.sortCol = Idx;

    }

    }

    });

    })(jQuery);

    2.页面函数

    function desc_change(id,str){

    $("#desc_1").html("日期");

    $("#desc_2").html("ID");

    $("#desc_3").html("类别");

    $("#"+id).html(str);

    }

    function desc(id,str){

    var htmlstr =$("#"+id).text().trim();

    var c =str;

    if(htmlstr==str){

    c=str+'↓';

    $("#"+id).html(c);

    }else if(htmlstr==str+'↓'){

    c=str+'↑'

    $("#"+id).html(c);

    }else if(htmlstr==str+'↑'){

    c=str+'↓'

    $("#"+id).html(c);

    }

    desc_change(id,c)

    }

    3.DOM结构

    日期ID类别

    201870601汇总新闻

    相关推荐:

    更多相关内容
  • 本文实例讲述了jQuery实现的表格前端排序功能。分享给大家供大家参考,具体如下: 表格前端按列排序 依赖jQuery(本例使用jQuery-1.8.2) 1.初始化方法 (function($){ //插件 $.extend($,{ //命名空间 sortTable:...
  • jQuery使用插件tablesorter实现纯前端表格排序必要步骤1.引入tablesorter插件2.为目标表格指定id或class3.目标表格调用排序方法箭头图标 必要步骤 1.引入tablesorter插件 在HTML文件里加入:(注意,要先引入jquery...

    必要步骤

    1.引入tablesorter插件

    在HTML文件里加入:(注意,要先引入jquery)

    <script src="../resources/home/js/jquery-1.11.3.js"></script>
    <script src="../resources/home/js/jquery.tablesorter.js"></script>
    

    2.为目标表格指定id或class

    <table id="pro_list" class="tablesorter" >
            <thead>
              <tr>
                <th width="200px">客房</th>
                <th>房型</th>
                <th style="color:#DD4C40">可住人数(点击排序)</th>
                <th style="color:#DD4C40">床位数(点击排序)</th>
                <th style="color:#DD4C40">房价(点击排序)</th>
                <th>房态</th>
                <th>预订</th>
              </tr>
            </thead>
            <tbody >
            <c:forEach items="${roomTypeList }" var="roomType">
            <tr>
              <td><a href="#"><img src="${roomType.photo }" alt=""></a>
              </td>
              <td align="center">
                <p>${roomType.name }</p>
                <p class="sub_txt">${roomType.remark }</p>
              </td>
              <td>${roomType.liveNum }</td>
              <td>${roomType.bedNum }</td>
              <td>${roomType.price }</td>
              <td>
              	<c:if test="${roomType.status == 0 }">
              		已满房
              	</c:if>
              	<c:if test="${roomType.status == 1 }">
              		可预订
              	</c:if>
              </td>
              <td>
              	<c:if test="${roomType.status == 0 }">
              		<input type="button" class="disable" value="满房" >
              	</c:if>
              	<c:if test="${roomType.status == 1 }">
              		<input type="button" value="预订" onclick="window.location.href='account/book_order?roomTypeId=${roomType.id }'" >
              	</c:if>
              </td>
            </tr>
    		</c:forEach>
            </tbody>
          </table>
    

    3.目标表格调用排序方法

    如果步骤2中表格指定id,使用“#”
    如果步骤2中表格指定class,使用“.”

    <script type="text/javascript">
    $("#pro_list").tablesorter({ 
        headers: { 
            // 列序号默认从0开始
            0: { 
                // 第1列不可排序 
                sorter: false 
            }, 
            1: { 
                sorter: false 
            }, 
            5: { 
                sorter: false 
            }, 
            6: { 
                sorter: false 
            } 
         }
    } );
    </script>
    

    箭头图标

    用到的图片资源:
    bg.gif
    bg.gif
    asc.gif
    asc,gif
    des.gif
    desc.gif
    在html文件里引入style.css文件:

    <link href="../resources/home/css/style.css" rel="Stylesheet" />
    

    style.css:

    table.tablesorter{
        font-family: arial;
        font-size: 8pt;
        width: 100%;
        text-align: left;
    }
    /*表头的样式*/
    thead{
    background:#ccc;
    color:#ff0000;
    }
    .header{
        background-image: url('../images/bg.gif');
        background-repeat: no-repeat;
        background-position: center right;
        cursor: pointer;
    }s
    /*降序时样式*/
    th.headerSortDown{
     color:#00ff00;
     background-color: #aaa;
     background-image: url('../images/desc.gif');
     background-repeat: no-repeat;
     background-position: center right;
     cursor: pointer;
    }
    
    /*升序时样式*/
    th.headerSortUp{
     color:#0000ff;
      background-color: #aaa;
     background-image: url('../images/asc.gif');
     background-repeat: no-repeat;
     background-position: center right;
     cursor: pointer;
    }
    

    参考文章:
    可能在动态更新,中文排序等情况会出现问题,以下文章可解决
    tablesorter多种情况处理1
    tablesorter多种情况处理2

    展开全文
  • 前端表格排序插件TableSort资料整理

    千次阅读 2017-12-27 10:26:21
    **前端表格排序插件TableSort资料整理** 一、前言 项目实际开发中,经常会遇到对表格排序的需求,下面整理了几个常用的表格排序方法。二、 常用插件 1、jquery.tablesorter.js , 用法参考这篇文章:...

    **

    前端表格排序插件TableSort资料整理

    **
    一、前言
    项目实际开发中,经常会遇到对表格排序的需求,下面整理了几个常用的表格排序方法。

    二、 常用插件
    1、jquery.tablesorter.js , 用法参考这篇文章:https://www.cnblogs.com/rsky/p/4998757.html
    http://www.jq22.com/jquery-info7356

    2、前端js 硬编码实现表格排序,参考这位大神的: http://blog.csdn.net/wdfscp/article/details/8373311

    3、bootstrapTable.js , 该插件生成固定样式的表格,且自带排序功能,通过配置即可实现。
    参考用法资料: https://www.cnblogs.com/landeanfen/p/5821192.html#_label1
    官方资料:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

    bootstrapTable 效果如下:

    ![这里写图片描述](https://img-blog.csdn.net/20171227102718706?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSGFIYV9TaXI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
    

    这里写图片描述

    展开全文
  • jsp+js实现可排序表格

    2019-05-27 01:15:37
    NULL 博文链接:https://fxz-2008.iteye.com/blog/545012
  • 表格是呈现数据不可缺少的工具,通过tablesorter插件能够轻松地美化表格排序只要设置一些参数就可以简单完成,让表格能够灵活呈现。 下载与套用 Tablesorted的下载地址为:...

    表格是呈现数据不可缺少的工具,通过tablesorter插件能够轻松地美化表格的排序只要设置一些参数就可以简单完成,让表格能够灵活呈现。

    下载与套用

    Tablesorted的下载地址为:http://plugins.jquery.com/tablesorter/

    打开网址之后,点击右侧DOWNLOAD NOW

    下载后将文件解压,解压后的文件夹种会包含多个文件夹和tablesorter的js文件,其中docs文件夹是说明文件,themes文件夹种有blue和green两种主题样式,通常只需使用jquery.tablesorter.js和themes文件夹,可以将它们复制到html文件的相同路径下,接下来我们看看如何套用tablesorter plungin。

    Tablesorter是JQuery的plugin,因此仍然要加载jQuery library,再加载tablesorter plugin,表格的颜色可以套用themes文件夹种提供的主题样式。下面语法使用了blue的主题样式,只要将下列语法添加到<head></head>标记之间即可。

    <link rel="stylesheet" href="../Mottie-tablesorter/css/theme.blue.css" type="text/css"/>
    <script src="../jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="jquery.tablesorter.js"></script>
    

    如果.js文件、.css文件与html文件位于不同文件夹,必须指定路径。

    使用方式非常简单,首先制作一个基本的表格,tablesorter必须套用在标准的HTML表格中,表格必须有表头标记<thead><th>和表身标记<tbody>,并且指定table的Id名称和class名称,id名称可自定义,class必须指定为tablesorter,如下所示:

    <table id="myTable" class="tablesorter-blue">
        <thead>
        <tr>
            <th>学号</th>
            <th>姓名</th>
            <th>数学</th>
            <th>英语</th>
            <th>语文</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>A001</td>
            <td>玩大锤</td>
            <td>100</td>
            <td>100</td>
            <td>100</td>
        </tr>
        <tr>
            <td>A002</td>
            <td>玩清华</td>
            <td>85</td>
            <td>95</td>
            <td>99</td>
        </tr>
        <tr>
            <td>A003</td>
            <td>上北大</td>
            <td>87</td>
            <td>98</td>
            <td>99</td>
        </tr>
        <tr>
            <td>A004</td>
            <td>上复旦</td>
            <td>88</td>
            <td>96</td>
            <td>100</td>
        </tr>
        </tbody>
    </table>

    接着,只要在网页加载完成时,告诉tablesorter将哪一个表格排序就可以了。语法如下:

     $(function () {
                $("$myTable").tablesorter();
            })

    可以看到表头右方多了一个排序按钮,只要单击它就可以对表格进行排序,非常方便。

    高级应用

    默认排序只要设置sortList参数即可,格式如下:

    sortList:[[columnIndex,sortDirection],...]

    columnIndex指定要排序的字段,作点起算第一列为0,从左到右;sortDirection是排序方式,0是升序排列(从小到大),1是降序排列(从大到小)。例如,要将第一列从大到小排序,第二列由小到大排序,如下

    $("#sortList").tablesorter({sortList:[[0,1],[1,0]]});

    当然,还可以设置某一列不允许排序,只要在headers参数中指定字段不排序就可以了,语法如下:

    headers:{0:{sorter:false},1:{sorter:false}}

    奇偶分色

    为了让表格更容易阅读,会在奇数行和偶数行分别用不同的颜色进行分隔,语法如下:

    $("#sortList").tablesorter({widget:['zebra']});

    效果如下:

    完整范例如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../jquery-3.3.1.min.js"></script>
        <link rel="stylesheet" href="../Mottie-tablesorter/css/theme.blue.css" type="text/css"/>
        <script type="text/javascript" src="jquery.tablesorter.js"></script>
        <!--<srcipt type="text/javascript" src="../Mottie-tablesorter/js/jquery.tablesorter.js"></srcipt>-->
    <script type="text/javascript">
    $(document).ready(function() {
        $("#sortTable").tablesorter(
            {
                   sortList:[[0,1]],
                    header:{1:{sorter:false}},
                    widgets:['zebra']
            }
        );
    });
    </script>
    </head>
    <body>
    <table id="sortTable" class="tablesorter-blue">
    
     <thead>
        <tr>
            <th>学号</th>
            <th>姓名</th>
            <th>数学</th>
            <th>英语</th>
            <th>语文</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>A001</td>
            <td>玩大锤</td>
            <td>100</td>
            <td>100</td>
            <td>100</td>
        </tr>
        <tr>
            <td>A002</td>
            <td>玩清华</td>
            <td>85</td>
            <td>95</td>
            <td>99</td>
        </tr>
        <tr>
            <td>A003</td>
            <td>上北大</td>
            <td>87</td>
            <td>98</td>
            <td>99</td>
        </tr>
        <tr>
            <td>A004</td>
            <td>上复旦</td>
            <td>88</td>
            <td>96</td>
            <td>100</td>
        </tr>
        </tbody>
    </table>
    </body>
    </html>
    
    
    
    

    执行结果如下:

    展开全文
  • 数据就是字母和数字两组.(汉字需要找到asc码) 原理就是利用数组自带的sort排序,进行表格重组.已在.net mvc 中测试过.支持分页.(申明一点.只对当前页面数据排序 无刷新,对所有页面排序的话,肯定需要刷新.这点我还在...
  • vue对表格进行排名排序

    千次阅读 2022-04-27 10:37:21
    排序由小到大;2.没有排序或者为0的默认到最后面 使用vue或者js都可以完成 效果图: 第一步: 对数组进行简单的排序 this.tableData.forEach(r=>{ if(r.rank==null) r.rank=0 })//将值为null的变为0 this....
  • // 排序后返回第一页 if (column.prop === "operationAvgTime") { // 表格每一列对应的字段,必须一一对应 this.proptype = column.prop; // 将键名prop赋值给变量proptype if (column.order === "descending...
  • jQuery表格分页排序插件的英文名称是SlimTable插件,它创建了从现有的表中数据的排序和分页。
  • 标签中定义排序方法: <el-table ref="reset" v-loading="loading" :data="tableData" height="520" border @sort-change="sortChange" > 要排序的字段定义排序关键字sortable : <el-table-...
  • jQuery动态表格数据分页检索排序代码,纯前端实现搜索功能(非原创)
  • element ui 解决表格排序失效

    千次阅读 2020-07-20 16:51:47
    element ui 排序很简单只需要加 sortable="custom" 通过后端排序后,吧数据返回至前端,但是当你对表格进行行内编辑,或者其他的复杂操作时,就会出现失效。 在啰嗦一句,后端排序数据类型要注意,你搞个字符串类型...
  • 点击表格头部的时候根据对应列的所有值来进行排序,最终显示排序后的数据行。 【具体效果】 【步骤思路】 点击需要排序列的数据头,获取数据头所在列的索引。通过索引找到每一行所对应列的数据,之后对该列的...
  • javascript 表格前端排序

    千次阅读 2017-06-02 11:51:26
    表格页面排序
  • 这个是一个后台,肯定会用到element的组件,然后果不其然用的就是element里面的表格排序组件 elementUI-table 首先熟悉一下里面的参数以及配置 * 在需要排序的列里面加上sortable就会出现上下箭头 的按钮标志,值...
  • 本文实例讲述了Vue.js实现可排序表格组件功能。分享给大家供大家参考,具体如下: 我们基于 Vue.js 实现一个可根据某列进行排序表格组件。 一个表格包含表头和数据两部分内容。因此,我们定义两个数组,columns ...
  • 实现表格分页,排序,全局模糊搜索 html js部分 重点在 DataTable,这个是 jquery.dataTables.min.js 中的,所以要引入这个js 可以参考:https://datatables.net/examples/data_sources/js_array.html 官方最靠谱...
  • element表格前端对全部数据进行排序_ydongabc-CSDN博客_element 前端排序 1.对全部数据进行排序,需要对el-table绑定sort-change监听 <el-table :data='tableData' @sort-change='sort_change'> 2.列...
  • 前端表格排序的Jquery插件有很多,功能也很强大,比如说Jquery Data Tables对表格的处理就相当强大,可对表格进行排序,搜索,分页等操作,不过没有仔细研究过其实现原理。为了更好的理解在前端对表格进行排序的...
  • 2、点击排序时,按照升序对表格中的每一行进行排序;3、点击筛选,籍贯处会变成一个下拉框,选项值为当前表格中锁包含的省份名称,选中某个省份,展示对应省份的人员信息实现代码:人员信息表格body { ...
  • react中表格排序

    千次阅读 2019-08-05 17:50:38
    react中表格排序挺好写的 首先,react中用的是antd框架 antd官网 table表格中就有排序 const columns = [{ title: '标题', dataIndex: 'test', key: 'text', sorter: (a, b) => a.text- b.te...
  • 代码如下: [removed] var b = ... //获取表格中的行对象 var arr = new Array(); for(var x=1;x<trNodes.length;x++){ //临时容器存入的是表格中行对象的引用 arr[x-1] = trNodes[x]; } sort(arr); var tbdNode = ta
  • js实现表格排序功能

    千次阅读 2015-09-06 14:59:15
    之前的阿里线上笔试最后一道就是实现表格排序功能,但当时由于时间有限没能完成,于是今天趁着午休时间完成了这个功能。 下面附上代码(有注释):(该功能是完成了对age的升序(从小到大)的排序) ...
  • 工作上的需求:表格内的每一行数据需要通过拖拽实现重新排序的效果。 实现思路:通过原生table+draggable插件 先看看实现效果: 这是四条数据,拖拽前的排序如下: 拖拽过程如下,正在将第四条数据拖拽至...
  • vue表格排序

    2020-12-21 09:10:43
    width="200" sortable="custom">el-table-column> el-table> //排序 sortChange(column, prop, order) { console.log(column.prop); //prop标签 => nickname console.log(column.order); //descending降序、...
  • 通常来说, 排序的方式有两种, 一种是我们在查询的时候就排好序,然后将数据渲染到前台页面上, 但是这样做有个弊端,就是在争... 另一种方法就是前端进行排序,利用DOM和jQuery 将当前页面中所有的数据进行排序, ...
  • element表格中的数据有两种形式:数值、字符串。element自带排序方法会发生排序错乱。如图:没有金额时,展示 --,图中升序排序错乱。 解决步骤 1. 在el-tabel中添加 @sort-change="handleSort" <el-table :...
  • function pcompare(prop,rev) { // 第二个参数没有传递,默认升序排序 if(rev === undefined) { rev = 1; }else { rev = rev ? 1: -1; } return function(obj1,obj2) { // 方括号.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,801
精华内容 7,920
关键字:

前端表格排序