JQuery实现Table的tr上移下移功能
talkchan · 254浏览 · 发布于2022-02-22
这篇文章主要为大家详细介绍了JQuery实现Table的tr上移下移功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了JQuery实现Table的tr上移下移的具体代码,供大家参考,具体内容如下
今日份需求:实现表格行的上移下移,并更新排序值,效果如下:
话不多说直接上代码,JQ实现挺简单的
HTML代码
<div> <span> <button class="layui-btn" id="doUp">上移</button><button class="layui-btn" id="doDown">下移</button> </span> </div> <table class="layui-table" style="width: 800px; margin-top: 3px;"> <thead> <tr> <th style="width: 100px; padding: 0px 0px; height: 32px;">姓名</th> <th style="width: 100px; padding: 0px 0px; height: 32px;">联系电话</th> <th style="width: 20px; padding: 0px 0px; height: 32px;">排序值</th> </tr> </thead> <tbody id="demo"> <tr> <td>张三</td> <td>139000000</td> <td>1</td> </tr> <tr> <td>李四</td> <td>137000000</td> <td>2</td> </tr> <tr> <td>王五</td> <td>139000000</td> <td>3</td> </tr> <tr> <td>赵六</td> <td>139000000</td> <td>4</td> </tr> <tr> <td>孙七</td> <td>139000000</td> <td>5</td> </tr> <tr> <td>周八</td> <td>139000000</td> <td>6</td> </tr> </tbody> </table>
JQ代码
<script> $(function () { //添加点选中行样式方便查看效果 $("#demo tr").click(function () { if (!$(this).hasClass("selected")) { $("#demo tr.selected").removeClass("selected"); $(this).addClass("selected"); } }); //上移 $("#doUp").click(function () { Up(); }); //下移 $("#doDown").click(function () { Down(); }); }); //上移 function Up() { var currentOrderno;//当前排序值 var tempOrderno;//临时值 var current = $("#demo tr.selected");//获取当前行 currentOrderno = current.find('td:eq(2)').text(); var prev = current.prev();//当前tr的前一个元素 if (current.index() > 0) {//大于0表示签名还有行,没有到顶 //下面调换两行的排序值,类似冒泡排序 tempOrderno = prev.find('td:eq(2)').text(); prev.find('td:eq(2)').text(currentOrderno); current.find('td:eq(2)').text(tempOrderno); //把选中行插入到上一行的前面 current.insertBefore(prev); } } //下移 function Down() { var currentOrderno; var tempOrderno; var current = $("#demo tr.selected"); currentOrderno = current.find('td:eq(2)').text(); var next = current.next();//当前tr的下一个元素 if (next.length > 0) {//大于0表示后面还有行,没有到底 tempOrderno = next.find('td:eq(2)').text(); next.find('td:eq(2)').text(currentOrderno); current.find('td:eq(2)').text(tempOrderno); //把选中行插入到下一行的后面 current.insertAfter(next); } } </script>
相关推荐
RN开发环境的npm私库本地debug调试
manongba · 698浏览 · 2019-05-09 17:03:46
你不知道的浏览器渲染原理
追忆似水年华 · 1373浏览 · 2019-05-09 22:47:56
基于iview的router常用控制方式
追忆似水年华 · 1001浏览 · 2019-06-03 10:39:21
编程小知识之 JavaScript 文件读取
manongba · 720浏览 · 2019-06-10 09:16:16
浏览器关闭后,Session会话结束了么?
追忆似水年华 · 909浏览 · 2019-06-13 09:39:50
分类专栏
最新发布
最热排行
0评论