zoukankan      html  css  js  c++  java
  • jquery动态表格,动态添加表格行

    转载收藏于:https://www.cnblogs.com/zhangqs008/archive/2013/05/09/3618459.html

    效果图:
     
    Html:
    <html>
    <head>
        <title>jquery表格操作</title>
        <script language="javascript" src="jquery.table.tr.js"></script>
        <style type="text/css">
            table
            {
                border: black solid 1px;
                border-collapse: collapse;
            }
            td
            {
                border: black solid 1px;
                padding: 3px;
            }
            .td_Num
            {
                 60px;
                text-align: center;
            }
            .td_Item
            {
                 160px;
                text-align: center;
            }
            .td_Oper
            {
                 120px;
                text-align: center;
            }
            .td_Oper span
            {
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <td class='td_Num'>
                    序号
                </td>
                <td class='td_Item'>
                    步骤名称
                </td>
                <td class='td_Item'>
                    步骤描述
                </td>
                <td class='td_Oper'>
                    相关操作 <a href="#" onclick="add_line();">添加</a>
                </td>
            </tr>
        </table>
        <table id="content">
        </table>
        <input type="button" value="提交数据" id="btnSubmit" onclick="SaveData()" />
    </body>
    </html>
    <script type="text/javascript">
        var currentStep = 0;
        var max_line_num = 0;
        //添加新记录
        function add_line() {
            max_line_num = $("#content tr:last-child").children("td").html();
            if (max_line_num == null) {
                max_line_num = 1;
            }
            else {
                max_line_num = parseInt(max_line_num);
                max_line_num += 1;
            }
            $('#content').append(
            "<tr id='line" + max_line_num + "'>" +
                "<td class='td_Num'>" + max_line_num + "</td>" +
                "<td class='td_Item'><input type='text' class='stepName' value='步骤名称" + max_line_num + "'></input></td>" +
                "<td class='td_Item'><input type='text' class='stepDescription' value='步骤描述" + max_line_num + "'></td>" +
                "<td class='td_Oper'>" +
                    "<span onclick='up_exchange_line(this);'>上移</span> " +
                    "<span onclick='down_exchange_line(this);'>下移</span> " +
                    "<span onclick='remove_line(this);'>删除</span> " +
                "</td>" +
            "</tr>");
        }
        //删除选择记录
        function remove_line(index) {
            if (index != null) {
                currentStep = $(index).parent().parent().find("td:first-child").html();
            }
            if (currentStep == 0) {
                alert('请选择一项!');
                return false;
            }
            if (confirm("确定要删除改记录吗?")) {
                $("#content tr").each(function () {
                    var seq = parseInt($(this).children("td").html());
                    if (seq == currentStep) { $(this).remove(); }
                    if (seq > currentStep) { $(this).children("td").each(function (i) { if (i == 0) $(this).html(seq - 1); }); }
                });
            }
        }
     
        //上移
        function up_exchange_line(index) {
            if (index != null) {
                currentStep = $(index).parent().parent().find("td:first-child").html();
            }
            if (currentStep == 0) {
                alert('请选择一项!');
                return false;
            }
            if (currentStep <= 1) {
                alert('已经是最顶项了!');
                return false;
            }
            var upStep = currentStep - 1;
            //修改序号
            $('#line' + upStep + " td:first-child").html(currentStep);
            $('#line' + currentStep + " td:first-child").html(upStep);
            //取得两行的内容
            var upContent = $('#line' + upStep).html();
            var currentContent = $('#line' + currentStep).html();
            $('#line' + upStep).html(currentContent);
            //交换当前行与上一行内容
            $('#line' + currentStep).html(upContent);
            $('#content tr').each(function () { $(this).css("background-color", "#ffffff"); });
            $('#line' + upStep).css("background-color", "yellow");
            event.stopPropagation(); //阻止事件冒泡
        }
     
        //下移
        function down_exchange_line(index) {
            if (index != null) {
                currentStep = $(index).parent().parent().find("td:first-child").html();
            }
            if (currentStep == 0) {
                alert('请选择一项!');
                return false;
            }
            if (currentStep >= max_line_num) {
                alert('已经是最后一项了!');
                return false;
            }
            var nextStep = parseInt(currentStep) + 1;
            //修改序号
            $('#line' + nextStep + " td:first-child").html(currentStep);
            $('#line' + currentStep + " td:first-child").html(nextStep);
            //取得两行的内容
            var nextContent = $('#line' + nextStep).html();
            var currentContent = $('#line' + currentStep).html();
            //交换当前行与上一行内容
            $('#line' + nextStep).html(currentContent);
            $('#line' + currentStep).html(nextContent);
     
            $('#content tr').each(function () { $(this).css("background-color", "#ffffff"); });
            $('#line' + nextStep).css("background-color", "yellow");
            event.stopPropagation(); //阻止事件冒泡
        }
        //保存数据
        function SaveData() {
            var data = "<root>";
            $('#content tr').each(function () {
                data += "<item>";
                var stepName = $(this).find("td:eq(1)").find("input").val();
                var stepDescription = $(this).find("td:eq(2)").find("input").val();
                data += "   <stepName>" + stepName + "</stepName>";
                data += "   <stepDescription>" + stepDescription + "</stepDescription>";
                data += "<item>";
            });
            data += "</root>";
            alert(data);
        }
    </script>
  • 相关阅读:
    win10+PHP 安装memcache
    win10+PHP 安装redis
    一个github搞定微信小程序支付系列
    Linux下新建一个站点
    Linux下更改mysql版本
    零基础配置Linux服务器环境
    手把手教你使用ueditor
    react学习三
    react学习二 生命周期
    window.location.replace和window.location.href区别
  • 原文地址:https://www.cnblogs.com/llhhll/p/9941481.html
Copyright © 2011-2022 走看看