jquery实现表格行与列的动态增加和删除

实现动态增加 删除最后一行与最后一列,获取表格内填写的 input 数据。
具体功能都已经添加按钮到页面上显示
HTML 代码
<input type="button" id="addrow" value="增加一行">
<input type="button" id="detrow" value="删除一行">
<input type="button" id="addcol" value="增加一列">
<input type="button" id="detcol" value="删除一列">
<input type="button" id="getstr" value="获取内容">
<input type="button" id="getstrJson" value="获取 json">
<p> </p>
<table id="table">
    <tbody>
        <tr>
            <td><span>0</span>至<input value="10" style="width:50%"></td>
            <td><input value="20"></td>
            <td><input value="30"></td>
            <td><input value="40"></td>
        </tr>
    </tbody>
</table>
CSS 代码
* {
    margin: 0;
    padding: 0;
    border: 0;
}
table {
    width: 100%;
    margin: 20px auto;
    border-collapse: collapse;
}
table tr td {
    border: 2px solid rosybrown;
    height: 32px;
}
table tr td input {
    width: 100%;
    height: 100%;
}
#addrow,#detrow,#addcol,#detcol,#getstr,#getstrJson {
    display: block;
    line-height: 40px;
    font-family: "Arial Black";
    background: #808000;
    width: 100px;
    margin: 20px auto;
    margin-left: 20px;
    border: 2px solid black;
    box-shadow: 3px 3px 5px #b9b9b9;
    float: left;
}
jquery 代码
$(document).ready(function() {
    //增加一行
    $("#addrow").click(function() {
        var tdAmt = $("tbody tr:last-child input").val();
        if (tdAmt != '') {
            //克隆上一行
            $("tbody tr:last-child").clone().appendTo("#table tbody");
            //将上一行区间数据赋值
            $("#table tbody tr:last").find("span").html(tdAmt);
            //将行尾克隆的值清空
            $("#table tbody tr:last").find(":input").val('');
        } else {
            alert("上一行区间金额不允许空");
        }
    });
    //删除一行
    $("#detrow").click(function() {
        var index = $("#table tr:last-child").index();
        if (index > 0) {
            $("#table tr:last-child").remove();
        } else {
            alert("表格第一行不能删除!");
            return false;
        }
    });
    //增加一列
    $("#addcol").click(function() {
        var tr = $("#table tr"); //所有 tr 元素
        tr.each(function(index) {
            $(this).append("<td><input /></td>")
        })
    });
    //删除一列
    $("#detcol").click(function() {
        var colTable = $("#table").find("tr");
        var trLen = colTable.eq(0).find("td").length; //列数
        colTable.each(function(i) {
            if (trLen > 1) {
                colTable.eq(i).find("td").eq(0).remove();
            } else {
                alert("表格第一列不能删除!");
                return false;
            }
        });
    });
    //获取字符串内容
    $("#getstr").click(function() {
        var str = "";
        var trLen = $("#table tbody tr").length;
        for (var i = 0; i < trLen; i++) {
            var tr = $("#table tbody").find("tr").eq(i); //获取每一行 tr
            var tdLen = $(tr).find("td").length;
            for (var j = 0; j < tdLen; j++) {
                td = $(tr).find("td input").eq(j); //获取每行 td
                var dir = $(tr).find("input").eq(j).val();
                str = str + dir + ","
            }
            str = str + "|" //换行
        }
        alert(str);
    });
    //获取 Json 内容
    $("#getstrJson").click(function() {
        var jsonStr = "{[";
        $('#table tbody').find('tr').each(function(id) {
            jsonStr += "{";
            $(this).find('td').each(function() {
                $(this).find('input').each(function() { //获取 td 中 input 的值
                    jsonStr += "\"td" + id + "\":\"" + $(this).val() + "\",";
                })
            })
            jsonStr = jsonStr.substring(0, jsonStr.length);
            jsonStr += "},";
        })
        jsonStr = jsonStr.substring(0, jsonStr.length);
        jsonStr += "]}";
        alert(jsonStr);
    });
    //监控第一列 input 值变化
});
以上关于jquery实现表格行与列的动态增加和删除的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » jquery实现表格行与列的动态增加和删除
    如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » jquery实现表格行与列的动态增加和删除
 
         码云
码云            
 微信
微信 支付宝
支付宝 
           
           
           
           
           
           
          