精华内容
下载资源
问答
  • js对表格进行排序

    千次阅读 2018-09-26 21:20:25
    <!DOCTYPE html> <html> <head&...表格搜索</title> </head> <script type="text/javascript"> wi
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>表格搜索</title>
    	</head>
    	<script type="text/javascript">
    		window.onload = function () {
    			var oTab = document.getElementById('tab2');
    			var oBtn = document.getElementById('btn1');
    			
    			oBtn.onclick = function () {
    				var arr = [];
    				
    				for (var i = 0; i < oTab.tBodies[0].rows.length; i++) {
    					arr[i]=oTab.tBodies[0].rows[i];
    				}
    				arr.sort(function (tr1, tr2) {
    					var n1 = parseInt(tr1.cells[0].innerHTML);
    					var n2 = parseInt(tr2.cells[0].innerHTML);
    					
    					return n1-n2;
    				});
    				for (var i = 0; i < arr.length; i++) {
    					oTab.tBodies[0].appendChild(arr[i]);
    				}
    			};
    		}
    	</script>
    	<body>
    		<input id="btn1" type="button" value="排序" />
    		<table id="tab2" width="500" border="1">
    			<thead>
    				<td>序号</td>
    				<td>姓名</td>
    				<td>学号</td>
    				<td>年龄</td>
    				<td>操作</td>
    			</thead>
    			<tbody>
    				<tr>
    					<td>1</td>
    					<td>丁冯超</td>
    					<td>131412</td>
    					<td>21</td>
    					<td></td>
    				</tr>
    				<tr>
    					<td>4</td>
    					<td>钟辉</td>
    					<td>131212</td>
    					<td>20</td>
    					<td></td>
    				</tr>
    				<tr>
    					<td>5</td>
    					<td>申振</td>
    					<td>131415</td>
    					<td>23</td>
    					<td></td>
    				</tr>
    				<tr>
    					<td>2</td>
    					<td>丁元超</td>
    					<td>131315</td>
    					<td>21</td>
    					<td></td>
    				</tr>
    				<tr>
    					<td>3</td>
    					<td>于加良</td>
    					<td>111415</td>
    					<td>20</td>
    					<td></td>
    				</tr>
    			</tbody>
    		</table>
    	</body>
    </html>
    
    

    程序源代码,li中的元素跟数组中的元素灵活应用
    排序前
    排序后
    其中运用的原理代码用如下的js代码进行解释

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>搜索的原理</title>
    		<style type="text/css">
    			#ul1{background: green;}
    			#ul2{background: yellow;}
    		</style>
    		<script type="text/javascript">
    			window.onload = function () {
    				var Oul1 = document.getElementById('ul1');
    				var Oul2 = document.getElementById('ul2');
    				var Obtn = document.getElementById('btn1');
    				
    				Obtn.onclick = function () {
    					var oli = Oul1.children[0];
    					
    					//Oul1.removeChild(oli);所以这一句可以删除
    					//Oul2.appendChild(oli);//先把原来数组中的元素删除然后将它赋值给新的父级 
    					Oul1.appendChild(oli);
    				}
    			}
    		</script>
    	</head>
    	<body>
    		<ul id="ul1">
    			<li>1</li>
    			<li>2</li>
    			<li>3</li>
    			<li>4</li>
    			<li>5</li>
    		</ul>
    		<input id="btn1" type="button" value="移动" />
    		<ul id="ul2">
    			
    		</ul>
    	</body>
    </html>
    

    原理示意图

    展开全文
  • 用sorttable.js对表格进行排序

    万次阅读 2014-12-23 18:11:57
    用sorttable.js表格进行排序,本博客总结了对表格排序的实现步骤,及排序的高级应用

    对表格进行排序的实现步骤:

    第一:下载sorttable.js,链接:http://www.kryogenix.org/code/browser/sorttable/,(不需要jquery.js)

    第二:导入该sorttable.js,(不需要jquery.js)

    第导入:在 table标签添加一个class="sortable"。

    至此,即可实现正反序的排列

    如果想不对某列排序,只要在此列的<th>标签加上class="sorttable_nosort"即可。

    注意:不支持分页

    sorttable高级用法:

    1)在页面加载后添加表排序

    var newTableObject =document.getElementById(idOfTheTableIJustAdded) ;

    sorttable.makeSortable(newTableObject);

     

    2)总计行

    总计行添加<tfoot>标签,如下图:

     

    3)列头显示图标表示进行排序

    table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sorttable_nosort):after { 
        content: " \25B4\25BE" 
    }

     

    4)使用自定义排序键

    在单元格加sorttable_customkey属性,如下图

    5)手动指定列的类型

    在列头标签添加class,值为列类型(sorttable_numeric、sorttable_alpha),如下图

    6)使用自定义日期格式

    添加自定义排序键值的格式为:YYYYMMDDHHMMSS,列如:

    <td sorttable_customkey="20080211131900">February11th 2008, 1:19pm</td>

    具体如下图

    7)稳定排序

    row_array.sort(this.sorttable_sortfunction);
    sorttable.shaker_sort(row_array, this.sorttable_sortfunction);

    8)通过代码排序表

    var myTH = document.getElementsByTagName("th")[0];
    sorttable.innerSortFunction.apply(myTH, []);

    9)使用自己的图表说明可排序的列

    添加css如下:

    table.sortable th::after, th.sorttable_sorted::after, th.sorttable_sorted_reverse::after {
      content: " ";
      display: inline-block;
      width: 24px;
      height: 24px;
    }
    th.sorttable_sorted::after {
      background: url(my-sorted-icon.png);
      background-size: contain;
    }
    th.sorttable_sorted_reverse::after {
      background: url(my-sorted-reversed-icon.png);
      background-size: cover;
    }

     

    10)使某些列不可排序

    添加class="sorttable_nosort"到 <th> 列标签

    11)在页面加载完成是排序表

    sorttable无法实现,实现的方法只能通过查询sql的order by 语句实现。

    另一种方法为:sorting a table from your own code

    12)第一次排序为降序

    需要编辑sorttable.js. 找到如下行:

    row_array.sort(this.sorttable_sortfunction);

    在这行后面添加如下新行:

    row_array.reverse();

    13)非敏感字符排序

    需要编辑sorttable.js. 找到如下代码:

    sort_alpha:function(a,b) {

        if (a[0]==b[0]) return 0;

        if (a[0]<b[0]) return -1;

        return 1;

      },

    并改变为:

     

      sort_alpha: function(a,b) {

        if (a[0].toLowerCase()==b[0].toLowerCase())return 0;

        if (a[0].toLowerCase()<b[0].toLowerCase())return -1;

        return 1;

      },

     

    14)添加行号

    需要添加如下css:

    table.sortable tbody {
        counter-reset: sortabletablescope;
    }
    table.sortable thead tr::before {
        content: "";
        display: table-cell;
    }
    table.sortable tbody tr::before {
        content: counter(sortabletablescope);
        counter-increment: sortabletablescope;
        display: table-cell;
    }

     

    15)为表添加交替斑马线背景

    添加如下css:

    table.sortable tbody tr:nth-child(2n) td {
      background: #ffcccc;
    }
    table.sortable tbody tr:nth-child(2n+1) td {
      background: #ccfffff;
    }

    16)带滚动条的排序表

    添加如下css:

    /* Appearance */

        body, table { font-family: sans-serif; }

        table { border-collapse: collapse; }

        td, th { padding: 6px; }

        th { background: #333; color: white; }

        tbody tr:nth-child(odd) { background:#dfdfdf; }

        table { border: 1px solid red; }

       

        /* Scrollability of table */

        table { width: 500px; } /* fixed widthtable */

        thead tr { display: block; } /* makes itsizeable */

        tbody {

          display: block; /* makes it sizeable */

          height: 170px; /* height of scrollablearea */

          overflow: auto; /* scroll rather thanoverflow */

          width: 100%; /* fill the box */

        }

        thead th { width: 250px; } /* fixed widthfor THs */

        tbody td { width: 242px; } /* fixed widthfor TDs */

        /* the tbody needs to be 16px less than thethead, for the scrollbar */

       


    实例如下图所示:


     

    展开全文
  • jquery tablesorter对表格进行排序

    千次阅读 2014-10-27 16:32:41
    关键是自定义排序,首先可以看看jquery.tablesort.js代码中addparser相关代码 以及doc文档。 参考 http://blog.csdn.net/junkai7043/article/details/6213183 解决空行和中文排序问题:...
     
    

    关键是自定义排序,首先可以看看jquery.tablesort.js代码中addparser相关代码

    以及doc文档。


    参考 http://blog.csdn.net/junkai7043/article/details/6213183

    解决空行和中文排序问题:http://www.cnblogs.com/novus/archive/2009/12/08/1619090.html

    假如我想自定义排序。比如表格有一列叫状态。

    字段可能是:已放款、放款中、待放款等多个状态。想按照一定的顺序排序。怎么实现呢?

    可以添加自定义Parser。如下:

     

    $.tablesorter.addParser({
    	id: "byStatus", //指定一个唯一的ID   
    	is: function(s){
    	   return false;   
    	},   
    	format: function(s){
    	   return s.toLowerCase()
    	   			.replace(/已放款/,"a")
    	   			.replace(/放款中/,"b")
    	   			.replace(/待放款/,"c")
    	   			.replace(/待签约/,"d")
    	   			.replace(/审批通过/,"e")
    	   			.replace(/审批中/,"f")
    	   			.replace(/补件中/,"g")
    	   			.replace(/申请中/,"h")
    	   			.replace(/综合评分不足/,"i")
    	   			.replace(/已结清/,"j")
    	   			.replace(/已失效/,"k"); //将中文换成数字   
    	},   
    	type: "text" //按数值排序   
    });

     

    使用的地方:

    resultTable.tablesorter({
    	headers:{
    		2:{/*第3列*/
    			sorter:'byStatus'
    		}
    	}
    });

    展开全文
  • js对表格按列进行排序

    千次阅读 2018-03-23 16:31:22
    1、列的th设置一个属性,例如: &lt;table&gt; &lt;tr&gt; &lt;th sort='vppv'&gt;&lt;span &gt;VPPV&lt;/span&gt;&lt;/th&gt; &lt;th sort='uv'&gt...

    js表格按列排序

    1、列的th设置一个属性,例如:

    <table>
        <tr>
            <th sort='vppv'><span >VPPV</span></th>
            <th sort='uv'><span >UV</span></th>
            <th><span >不参与排序</span></th>
        </tr>
    </table>

    2、根据Sort属性值进行排序,代码如下:

    //对表格中的数据,按照规则排序
    //a表示排序的字段,attr('sort')
    //b表示升序还是降序(可以设置:desc和asc两个属性,类似于sort)
    function refreshMycomOrder(a, b) {
        var t = allofobj.tdata;
        var tempa = [];
        for (i in t) {
            t[i].comId = i;
            tempa.push(t[i]);
        }
        var compare = function(prop) {
            return function(obj1, obj2) {
                var val1 = obj1[prop];
                var val2 = obj2[prop];
                if (val1 < val2) {
                    return -1;
                } else if (val1 > val2) {
                    return 1;
                } else {
                    return 0;
                }
            }
        }
        tempa.sort(compare(a));
        if (b == "desc") {
            tempa.reverse();
        }
        var tempo = {};
        var tempstr = "";
        for (i = 0; i < tempa.length; i++) {
            tempo[i] = tempa[i];
            if (i < allofobj.pagerow) {
                tempstr += "<tr>";
                tempstr += "<td>" + tempa[i].commName + "</td>";
                tempstr += "<td>" + tempa[i].pmBrokerComm + "</td>";
                tempstr += "<td class='tdgray'>" + tempa[i].brokerVppvAvgComm + "</td>";
                tempstr += "<td class='tdgray'>" + tempa[i].propVppvAvgComm + "</td>";
                tempstr += "<td>" + tempa[i].pmProp + "</td>";
                tempstr += "<td>" + tempa[i].pmPropRank + "</td>";
                tempstr += "<td>" + tempa[i].validVppv + "</td>";
                tempstr += "<td class='tdgray'>" + tempa[i].validVppvRank + "</td>";
                tempstr += "<td class='tdgray'>" + tempa[i].propVppvAvg + "</td>";
                tempstr += "<td>" + tempa[i].propVppvAvgRank + "</td>";
                tempstr += "</tr>";
            }
        }
        $('#comanatable tbody').html(tempstr);
    展开全文
  • 在运用elementUI的table时,在column中加入sortable属性,即可table进行排序,但排序仅限于单一页面,分页场景则失效。 以下针对el-table的分页场景进行排序 <el-table :data='tableData.slice((page-1)*...
  • 请教高手,如何写一个JS封装的表格排序?要求是:单击表格的表头,可以从小到大排列,再单击一下,(或者经过判断,之前是顺序)进行逆序排列, 数字是数字排序,中文是汉语拼音排序。 谢谢,请把详细代码也发给我。
  • 解决方案: 可以通过后端处理: 1、 table.render({autoSort: false}) 2、//监听排序事件 table.on('sort(datas)', function (obj) { table.reload('idTest', { in...
  • JavascriptHTML表格排序-很实用

    万次阅读 热门讨论 2018-07-25 22:11:41
    JavascriptHTML表格...该功能已经封装成了一个Javascript函数,要实现表格排序的功能非常简单,只需: 引入包含该函数的js文件(需要预先引入jQuery)—— 这个不难 在需要排序的表格的标题单元格(th元素)的...
  • JqueryTable表格排序(方法)

    万次阅读 2012-12-22 15:45:16
    在前端对表格排序的Jquery... 为了更好的理解在前端对表格进行排序的原理,也为了进一步的学习Jquery,所以决定用Jquery来实现一个对表格进行排序的小功能。  该实现的主要思想是:获取鼠标点击的表头单元格的列号
  • C# Excel表格中的数据进行排序

    千次阅读 2018-06-01 16:38:22
    我们可以Excel中的列或多列数据进行排序,本文将介绍以下三种排序方式:基于单元格的值基于单元格的背景颜色基于单元格的字体颜色本文所使用的Dll为Spire.XLS,安装后,需要从安装目录Bin文件夹下引用Spire.Xls....
  • 另,试了另外开辟一个数组存储原来的行集合,对数组进行排序,再将该数组直接加入到原来的表格中,这样就可以显示排序的效果,但是直接行集合进行排序就不行,这是为什么啊,求大神解惑,万分感谢!
  • 1.全部数据进行排序,需要el-table绑定sort-change监听 <el-table :data='tableData' @sort-change='sort_change'> sort-change绑定方法具有参数:column,这是一个对象: column: { prop: 'xxxx', // ...
  • Angularjs directive,一个指令让你的表格排序
  • 常规的排序很容易实现,但有时我们需要按特定的顺序数据进行排序,例如:按照姓氏笔画人员名单进行排序,按照职位高低员工进行排序等,这样的排序该如何进行呢? 按照姓名进行排序 1、现在WPS表格中输入...
  • javascript 表格前端排序

    千次阅读 2017-06-02 11:51:26
    表格页面排序
  • element表格提供了三种数据的排序方法: 升序排序 ascending 降序排序 descending 默认排序 null 如果是前端本地排序 可设置 sort-doders 属性为 ['ascending', 'descending'] 去除默认排序具体可参考 element...
  • layui表格排序扩展自定义排序规则

    千次阅读 2019-01-17 16:44:58
    layui框架表格只支持数字排序,不能...在原排序数组每项里新增为数字类型的临时属性,再通过这数字进行排序 demo下载地址 https://download.csdn.net/download/lihefei_coder/10923718 注:需积分下载 使用方式...
  • Layui表格全局排序

    千次阅读 2020-06-12 16:31:51
    Layui表格全局排序 首先来看官方文档 官方文档链接 //监听排序事件 table.on('sort(order)', function(obj) { //注:sort 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值" //尽管我们的 ...
  • 使用layui table过程中,将某一列的数据格式进行转换,或者将0/1状态改为是/否,或者将数字改为星星评分显示的时候都会遇到一个问题,我的表格数据转换成其他形式,同时设置了sort:true,此时,点击排序按钮之后,该...
  • 如果要数据集按指定的列排序显示,常规做法都是向服务器发出请求,服务器端程序重新从数据库中取出按指定列排序的数据,返回给客户端,页面重新显示排序后数据。 采用这种方式有如下缺点:1- 响应时间延迟,每次...
  • 分享一个前端做的表格排序方法哈,贴码如下: HTML: ID 姓名 年龄 3 hello 22 1 man 35 4 girl
  • js table表格排序

    千次阅读 2009-09-29 09:10:00
    对于table表格排序,是开发中很长用到得技术。今天把客户端排序完善了一下,它兼容数字、字符、日期、汉字、百分数等排序功能。 如下对于数字类型列: 整型onclick=sortTable(tableID,1,int); 浮点型onclick=...
  • 关于Vue ElementUI表格后台排序详解

    万次阅读 热门讨论 2018-07-04 17:53:28
    ElementUi文档已经说了,如果需要后端排序,需将sortable设置为custom,同时在 Table 上监听sort-change事件,在事件回调中可以获取当前排序的字段名和排序顺序,从而向接口请求排序后的表格数据。 <el-table @...
  • 例1 对表格排序 table表中的行按照行中表示年纪的单元格所表示的年龄的大小进行升序排序,部分代码如下图 js部分的代码 ![图片说明](https://img-ask.csdn.net/upload/201801/04/1515057915_930071.png) html中...
  • 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...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 140,704
精华内容 56,281
关键字:

怎么对一个表格进行排序