zoukankan      html  css  js  c++  java
  • bootstrap table 双击可编辑,添加、删除行

    html:

    <table class="table  table-bordered" id="para_table">  
        <tr>  
            <th style="text-align:center" width="200">名称</th>  
            <th style="text-align:center" width="200"></th>  
            <th style="text-align:center" width="100">操作</th>  
        </tr>  
        <tr>  
          <td  style="text-align:center; " onclick="tdclick(this)"></td>  
          <td  style="text-align:center; " onclick="tdclick(this)"></td>  
          <td   style="text-align:center; " onclick="deletetr(this)">  
            <button type="button"  class="btn btn-xs btn-link">删除</button>  
          </td>  
        </tr>  
    </table>  
      
    <div id="addtrdiv" style="margin-top:-15px;  15%; float: right;">  
        <button type="button" class="btn btn-xs btn-link" onclick="addtr()">添加</button>  
    </div>  

    js:

    function save_para_table(){  
      
        var tableinfo = gettableinfo();  
        alert(tableinfo);  
      
      
    }  
    //get table infomation  
    function gettableinfo(){  
        var key = "";  
        var value = "";  
        var tabledata = "";  
        var table = $("#para_table");  
        var tbody = table.children();  
        var trs = tbody.children();  
        for(var i=1;i<trs.length;i++){  
            var tds = trs.eq(i).children();  
            for(var j=0;j<tds.length;j++){  
                if(j==0){  
                    if(tds.eq(j).text()==null||tds.eq(j).text()==""){  
                        return null;  
                    }  
                    key = "key":""+tds.eq(j).text();  
                }  
                if(j==1){  
                    if(tds.eq(j).text()==null||tds.eq(j).text()==""){  
                        return null;  
                    }  
                    value = "value":""+tds.eq(j).text();  
                }  
            }  
            if(i==trs.length-1){  
                tabledata += "{""+key+"",""+value+""}";  
            }else{  
                tabledata += "{""+key+"",""+value+""},";  
            }  
        }  
        tabledata = "["+tabledata+"]";  
        return tabledata;  
    }  
      
    function tdclick(tdobject){  
        var td=$(tdobject);  
        td.attr("onclick", "");  
        //1,取出当前td中的文本内容保存起来  
        var text=td.text();  
        //2,清空td里面的内容  
        td.html(""); //也可以用td.empty();  
        //3,建立一个文本框,也就是input的元素节点  
        var input=$("<input>");  
        //4,设置文本框的值是保存起来的文本内容  
        input.attr("value",text);  
        input.bind("blur",function(){  
            var inputnode=$(this);  
            var inputtext=inputnode.val();  
            var tdNode=inputnode.parent();  
            tdNode.html(inputtext);  
            tdNode.click(tdclick);  
            td.attr("onclick", "tdclick(this)");  
        });  
        input.keyup(function(event){  
            var myEvent =event||window.event;  
            var kcode=myEvent.keyCode;  
            if(kcode==13){  
                var inputnode=$(this);  
                var inputtext=inputnode.val();  
                var tdNode=inputnode.parent();  
                tdNode.html(inputtext);  
                tdNode.click(tdclick);  
            }  
        });  
      
        //5,将文本框加入到td中  
        td.append(input);  
        var t =input.val();  
        input.val("").focus().val(t);  
    //              input.focus();  
      
        //6,清除点击事件  
        td.unbind("click");  
    }  
    function addtr(){  
        var table = $("#para_table");  
        var tr= $("<tr>" +  
            "<td  onclick='tdclick(this)'>"+"</td>" +  
            "<td  onclick='tdclick(this)'>"+"</td>" +  
            "<td  align='center' onclick='deletetr(this)'><button type='button'  class='btn btn-xs btn-link' >"+"删除"+"</button></td></tr>");  
        table.append(tr);  
    }  
    function deletetr(tdobject){  
        var td=$(tdobject);  
        td.parents("tr").remove();  
    }  
  • 相关阅读:
    初探nodejs事件循环机制event loop
    夯实基础之--new关键字、instanceOf原理
    分享-结合demo讲解JS引擎工作原理
    Linux-centos安装node、nginx小记
    openlayers5实战--踩坑总结
    node+koa中转层开发实践总结
    vue预渲染实践总结
    css多行省略-webkit-box-orient打包编译后失效原因
    使用mpVue开发小程序实战总结
    Linux crontab定时执行任务
  • 原文地址:https://www.cnblogs.com/yechangzhong-826217795/p/7600238.html
Copyright © 2011-2022 走看看