本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
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
10个省时间的 PyCharm 技巧 赶快收藏!

· 705浏览 · 2019-06-10 09:32:01
加载中

0评论

评论
大家好,我是一名专注技术开发的技术屌丝,有什么问题可以互相交流,一起学习进步,谢谢。
分类专栏
小鸟云服务器
扫码进入手机网页