table的tr行移

图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>table的tr行移</title>
    <style>
        .my_tab{
            text-align: center;
        }
    </style>
</head>

<body>
    <table class="my_tab" style="width: 500px;margin:20px auto;margin-bottom:0;">
        <tr class="move">
            <th style="width: 10%">
                序 号
            </th>
            <th style="width: 15%">
                职位
            </th>
            <th style="width: 15%">
                姓名
            </th>
            <th style="width: 30%">
                顺序
            </th>
        </tr>
    </table>
    <table class="my_tab" style="margin:0 auto;width: 500px;">
        <tr class="move">
            <td class="tab_num" style="width: 10%">
                1
            </td>
            <td style="width: 15%">
                个人安保人员
            </td>
            <td style="width: 15%">
                王大锤1
            </td>
            <td style="width: 30%">
                <a class="downarrow" href="#" title="向下移">向下移</a>
                <a class="uparrow" href="#" title="向上移">向上移
                </a>
            </td>
        </tr>
        <tr class="move">
            <td class="tab_num">
                2
            </td>
            <td>
                个人秘书
            </td>
            <td>
                王小秘2
            </td>
            <td>
                <a class="downarrow" href="#" title="向下移">向下移</a>
                <a class="uparrow" href="#" title="向上移">向上移
                </a>
            </td>
        </tr>
        <tr class="move">
            <td class="tab_num">
                3
            </td>
            <td>
                个人安保人员
            </td>
            <td>
                王大锤3
            </td>
            <td>
                <a class="downarrow" href="#" title="向下移">向下移</a>
                <a class="uparrow" href="#" title="向上移">向上移
                </a>
            </td>
        </tr>
        <tr class="move">
            <td class="tab_num">
                4
            </td>
            <td>
                个人秘书
            </td>
            <td>
                王小秘4
            </td>
            <td>
                <a class="downarrow" href="#" title="向下移">向下移</a>
                <a class="uparrow" href="#" title="向上移">向上移
                </a>
            </td>
        </tr>
        <tr class="move">
            <td class="tab_num">
                5
            </td>
            <td>
                个人安保人员
            </td>
            <td>
                王大锤5
            </td>
            <td>
                <a class="downarrow" href="#" title="向下移">向下移</a>
                <a class="uparrow" href="#" title="向上移">向上移
                </a>
            </td>
        </tr>
    </table>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
    /*
              params
              t:触发事件的元素
              oper:操做方式
        */
    $(function() {
        function check(t, oper) {
            var data_tr = $(t).parent("td").parent("tr"); //获取到触发的tr
            if (oper == "MoveUp") { //向上移动
                if ($(data_tr).prev().html() == null) { //获取tr的前一个相同等级的元素是否为空
                    alert("已是最顶部了!");
                    return;
                } {
                    $(data_tr).insertBefore($(data_tr).prev()); //将自己插入到目标tr的前面 
                    var cur_num = $(data_tr)[0].rowIndex + 2; //获取当前行行号
                    $(data_tr).find(".tab_num").text(cur_num - 1); //当前行上移后序号变为cur_num-1
                    $(data_tr).next("tr").find(".tab_num").text(cur_num); //当前行移动前的前一行下移后序号变为cur_num
                }
            } else {
                if ($(data_tr).next().html() == null) {
                    alert("已是最低部了!");
                    return;
                } {
                    $(data_tr).insertAfter($(data_tr).next()); //将自己插入到目标tr的后面 
                    var cur_num = $(data_tr)[0].rowIndex; //获取当前行行号
                    $(data_tr).find(".tab_num").text(cur_num + 1); //当前行下移后序号变为cur_num
                    $(data_tr).prev("tr").find(".tab_num").text(cur_num); //当前行移动前的下一行上移后序号变为cur_num
                }
            }
        }
        $(".downarrow").on("click", function() {
            check(this, "MoveDown");

        })
        $(".uparrow").on("click", function() {
            check(this, "MoveUp");
        })
    })
    </script>
</body>

</html>
相关文章
相关标签/搜索