之前用过表格排序插件tinytables,用到后面,随着需求的更改,发现这个插件真的low到爆了,不适合用于多表格,只有一个表格的页面可以凑合着用,有很多局限性。

之后发现了一款表格排序插件datatables,功能强大(能够分页,排序,搜索),且有官网,基本满足需求,并且可以适用于多表格,唯一有点不足就是,加载会稍微有点慢。

实例:

html:

<table id="table1" cellpadding="" cellspacing="" border="" class="hover">
  <thead>
    <tr>
      <th> fdafdadka</th>
      <th> Ticker </th>
      <th> Company </th>
      <th> Industry </th>
      <th> Market Cap(MM) </th>
    </tr>
  </thead>
  <tbody>
    <tr>       <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>     </tr>
  </tbody>
</table>

初始化表格:

js:

var table1 = $('#table1').DataTable({
  "aLengthMenu": [[, , , , -], ["", "", "","", "All"]],//第一组数量,第二组说明文字
  columnDefs:[{
     type: 'natural', targets: ,
   },{
    'targets' : [,],//第一列不排序
    'orderable' : false
   },{
  //设置不参与搜索
  "targets":[,,,,,,,,,],
  "searchable":false
  }]
}); $('#table1 tbody').on( 'click', 'tr', function () {
  $(this).toggleClass('selected');
} );

-api:http://hereson.iteye.com/blog/2032425
-官网:https://www.datatables.net/
https://datatables.net/plug-ins/sorting/
-排序插件(类型检测) :http://www.datatables.club/example/plug-ins/sorting_auto.html
-尽管Datatables可以自动排序字母或者数字,但是在处理更复杂的数据格式,可以自定义排序的规则,datatables写好了些排序插件给我们使用
-自然排序(数字英文结合):https://datatables.net/plug-ins/sorting/natural

//-----------------------------------------------------------------

通过ajax调用数据初始化表格

          //js
          table8=$('#table8').DataTable( {
"ajax": "User/showStock",
"columns": [
{ "data": "code" },
{ "data": "company" },
{ "data": "section" },
{ "data": "market_value" },
{ "data": "price" },
{ "data": "div" },
{ "data": "last_report_date" },
{ "data": "next_report_date" },
{ "data": "days_after_last_earning" },
{ "data": "days_before_next_earning" },
{ "data": "rank_cur_fs" },
{ "data": "rank_fs-1" }
]
          })

html:

            <table id="table8" cellpadding="" cellspacing="" border="" class="hover">
<thead>
<tr>
<th> Ticker </th>
<th> Company </th>
<th> Industry </th>
<th> Market Cap(MM) </th>
<th> Price</th>
<th> Yield </th>
<th class="lastReport"> Last Report Date </th>
<th class="nextReport"> Next Report Date </th>
<th> Days After Last Earning</th>
<th> Days Before Next Earning</th>
<th> Perform </th>
<th> Perform- </th>
</tr>
</thead>
</table>

例子:https://datatables.net/examples/ajax/objects.html

【注意】表格只能初始化一次,如果碰到需要多次初始化的情况,则可以参考文章:https://datatables.net/manual/tech-notes/3

解决方案:

                table8=$('#table8').DataTable({});
table8.destroy();//销毁表格
table8=$('#table8').DataTable( {
"ajax": "User/showStock",
"columns": [
{ "data": "code" },
{ "data": "company" },
{ "data": "section" },
{ "data": "market_value" },
{ "data": "price" },
{ "data": "div" },
{ "data": "last_report_date" },
{ "data": "next_report_date" },
{ "data": "days_after_last_earning" },
{ "data": "days_before_next_earning" },
{ "data": "rank_cur_fs" },
{ "data": "rank_fs-1" }
],
"aLengthMenu": [[, , , , -], ["", "", "","", "All"]],//第一组数量,第二组说明文字
columnDefs:[{
     type: 'natural', targets: ,
   },{
    'targets' : [],//第一列不排序
    'orderable' : false
   },{
//设置不参与搜索
"targets":[,,,,,,,,],
"searchable":false
}]
} );

【注意】这样的时候,虽然可以实现功能,但是插件会自动弹出warning,有的时候,为了禁止弹出warning,我们可以去jquery.dataTables.min.js里面将errMode:"alert"给注释掉,这个时候就不会再弹出warning了。

表格排序插件datatables的更多相关文章

  1. jQuery 表格排序插件 Tablesorter 使用

    jQuery 表格排序插件 Tablesorter 使用方式如下: 1.引入头文件(注意一定要把jQuery放在前面): <script src="lib/jquery-1.8.3.m ...

  2. jQuery html表格排序插件:tablesorter

    ablesort是一款很好用的jQuery表格排序插件. 支持多种数据类型排序,会自动识别表格内容数据类型,使用也非常方便. 使用jQuery tablesort实现html表格方法: 1. 下载jQ ...

  3. 基于JQuery可拖动列表格插件DataTables的踩坑记

    前言 最近项目中在使用能够拖动列调整列位置顺序的表格插件---DataTables,这也是目前我找到的唯一一种存在有这种功能的插件. 在查找使用方法的过程中发现可用案例并不多,且大多言语不详.本文将全 ...

  4. jQuery 的插件 dataTables

    ---恢复内容开始--- jQuery 的插件 dataTables 是一个优秀的表格插件,提供了针对表格的排序.浏览器分页.服务器分页.筛选.格式化等功能.dataTables 的网站上也提供了大量 ...

  5. JQuery插件datatables相关api

    学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...

  6. JS实现表格排序

    今天有点闲,写个小东西,使用JS实现点击表格标题栏实现自动排序功能,嘻嘻... 一.JS代码,文件名为code.js如下: (function($){ //插件 $.extend($,{ //命名空间 ...

  7. FooTable高级的响应式表格jQuery插件

    FooTable是一个高级jQuery插件,允许开发者在触屏智能手机及平板电脑等小型设备上制作数据非常惊人的HTML表格.它可以将HTML表转换成可扩展的响应式表格,且通过单击某一行即可将该行数据隐藏 ...

  8. JS表格排序

    var employees = [] employees[0] = { name: "George", age: 32, retiredate: "March 12, 2 ...

  9. JS对表格排序(支持对序号,数字,字母,日期)

    JS对表格排序(支持对序号,数字,字母,日期) 前不久看到淘宝组件有"对表格排序的插件" 如想要看 可以看这个地址 http://gallery.kissyui.com/KSort ...

随机推荐

  1. Tornado模板配置

    #!/usr/bin/env python # -*- coding:utf-8 -*- #tornado模板配置 import tornado.ioloop import tornado.web c ...

  2. find查找、split分隔、replace替换

    #!/usr/bin/env python r = "asada" ret = r.find("d") print(ret)#返回所在位置的索引 ret =r. ...

  3. Luogu 3479 [POI2009]GAS-Fire Extinguishers

    补上了这一道原题,感觉弱化版的要简单好多. 神贪心: 我们设$cov_{x, i}$表示在$x$的子树中与$x$距离为$i$的还没有被覆盖到的结点个数,设$rem_{x, i}$表示在$x$的子树中与 ...

  4. 3.文档视图:从gui分割状态

    为了解决一个类实现所有功能的缺陷,我们把application分为2个部分.一个部分业务逻辑,一个部分视觉渲染和交互.这2个类在学术上被称为document view 或者 model delegat ...

  5. Google B4网络阅读记录(翻译)

    3.设计 这一章我们描述软件定义广域网架构的细节. 3.1.概述 我们的软件定义网络从逻辑上可以看做三层,如图所示, B4服务于多个广域网节点,每个节点都有很多服务器集群.在每个B4节点内,交换机硬件 ...

  6. deb包制作(转)

    deb 包已被广泛应用但是也在不断的更新,这里介绍Ubuntu deb包安装设置使用,帮助大家安装更新Ubuntu deb包系统.制作Ubuntu deb包的三种方法 | Sean's Blog [转 ...

  7. springMVC:modelandview,model,controller,参数传递

    转载:http://blog.csdn.net/wm5920/article/details/8173480 1.web.xml 配置: copy   <> ></> & ...

  8. The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

    刚才Insus.NET有尝试改一段代码,是让用户能动态变更网页背景图片的小功能.当Insus.NET去执行铵钮Click事件时,它却出现标题的错误.代码是这样的: 此代码,原本是没有什么问题的,但现在 ...

  9. 写一个Android输入法01——最简步骤

    本文演示用Android Studio写一个最简单的输入法.界面和交互都很简陋,只为剔肉留骨,彰显写一个Android输入法的要点. 1.打开Android Studio创建项目,该项目和普通APP的 ...

  10. loj #2037. 「SHOI2015」脑洞治疗仪

    #2037. 「SHOI2015」脑洞治疗仪   题目描述 曾经发明了自动刷题机的发明家 SHTSC 又公开了他的新发明:脑洞治疗仪——一种可以治疗他因为发明而日益增大的脑洞的神秘装置. 为了简单起见 ...