表格,点击添加,将表单中的数据添加进入表格最后一行 表格最后一列增加删除按钮,点击按钮,删除当前行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table
        {
           border-collapse: collapse;
            width: 800px;
        }
        td,th{
            height: 30px;
            border: 1px solid #000000;
            line-height: 30px;
            text-align: center;
        }
    </style>
</head>
<body>
    <label for="ids">id:</label><input type="text" id="ids" name="ids"><br>//for 关联name
    <label for="icon">图标:</label><input type="text" id="icon" name="icon"><br>
    <label for="names">名称:</label><input type="text" id="names" name="names"><br>
    <label for="num">数量:</label><input type="text" id="num" name="num"><br>
    <label for="price">单价:</label><input type="text" id="price" name="price"><br>
    <button id="bn">添加</button>
    <hr>
    <script>
       var bn,inputs,table,labels;
        init();
        function init() {
            bn=document.getElementById("bn");
            inputs=document.querySelectorAll("[type=text]");
            labels=document.getElementsByTagName("label");
            bn.addEventListener("click",clickHandler);//给按钮添加侦听
            createTable();
        }
        
        function createTable() {
            table=document.createElement("table");
            var tr=document.createElement("tr");
            var th0=document.createElement("th");
            tr.appendChild(th0);

            var input=document.createElement("input");
            input.type="checkbox";
            input.addEventListener("click",checkHandler);
            th0.appendChild(input);//把多选框加入th0
            for(var i=0;i<labels.length;i++){
                var th=document.createElement("th");
                th.textContent=labels[i].textContent.slice(0,-1);
                tr.appendChild(th);
            }
            var th1=document.createElement("th");
            th1.textContent="删除";
            tr.appendChild(th1);
            table.appendChild(tr);
            document.body.appendChild(table)
        }

        function clickHandler(e) {
            var tr=document.createElement("tr");
            var obj={selected:false};
            for(var i=0;i<inputs.length;i++){
                obj[inputs[i].name]=inputs[i].value;
            }
            obj.del="删除";
            for(var prop in obj){
                var td=document.createElement("td");
                if(prop==="selected"){
                    var input=document.createElement("input");
                    input.type="checkbox";
                    td.appendChild(input);
                    input.addEventListener("click",checkHandler);
                }else if(prop==="del"){
                    var delBn=document.createElement("button");
                    delBn.textContent="删除";
                    td.appendChild(delBn);
                    delBn.addEventListener("click",delHandler);
                }else if(prop==="icon"){
                    var img=new Image();
                    img.src=obj.icon;
                    td.appendChild(img);
                }else{
                    td.textContent=obj[prop];
                    console.log(prop)
                }
                tr.appendChild(td);
            }
            table.appendChild(tr);
        }

        function checkHandler(e) {
            var checks=document.querySelectorAll("[type=checkbox]");
            if(this===checks[0]){
                for(var i=1;i<checks.length;i++){
                    checks[i].checked=this.checked;
                }
                return;
            }
            var bool=true;
            for(var j=1;j<checks.length;j++){
                if(!checks[j].checked){
                    bool=false;
                    break;
                }
            }
            checks[0].checked=bool;
        }

        function delHandler(e) {
            var tr=this.parentElement.parentElement;
            tr.remove();
        }
    </script>
</body>
</html>
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值