bootstrap table edit 双击可编辑,添加、删除行

效果图:

 

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; " οnclick="tdclick(this)"></td>
      <td  style="text-align:center; " οnclick="tdclick(this)"></td>
      <td   style="text-align:center; " οnclick="deletetr(this)">
        <button type="button"  class="btn btn-xs btn-link">删除</button>
      </td>
    </tr>
</table>
 
<div id="addtrdiv" style="margin-top:-15px; width: 15%; float: right;">
    <button type="button" class="btn btn-xs btn-link" οnclick="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  οnclick='tdclick(this)'>"+"</td>" +
        "<td  οnclick='tdclick(this)'>"+"</td>" +
        "<td  align='center' οnclick='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();
}

 

好的,关于 Bootstrap 表格的编辑状态,我可以给您进详细介绍。 首先,Bootstrap Table 是一个基于 Bootstrap 的扩展,可以让表格更加美观、功能更加丰富。其中,双击编辑添加删除的功能可以通过插件实现。 具体实现步骤如下: 1. 引入必要的文件 ``` <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.css"> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/bootstrap-table.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap-table/1.12.1/extensions/editable/bootstrap-table-editable.min.js"></script> ``` 2. 准备表格数据 ``` var data = [ {id: 1, name: '张三', age: 20}, {id: 2, name: '李四', age: 25}, {id: 3, name: '王五', age: 30} ]; ``` 3. 定义表格 ``` <table id="table" data-editable="true"> <thead> <tr> <th data-field="id">ID</th> <th data-field="name">姓名</th> <th data-field="age">年龄</th> <th data-field="operate" data-formatter="operateFormatter" data-events="operateEvents">操作</th> </tr> </thead> </table> ``` 其中,`data-editable="true"` 表示表格可编辑。 4. 初始化表格 ``` $(function () { $('#table').bootstrapTable({ data: data }); }); ``` 5. 定义操作列的格式化函数 ``` function operateFormatter(value, row, index) { return [ '<a class="edit" href="javascript:void(0)" title="编辑">', '<i class="glyphicon glyphicon-edit"></i>', '</a> ', '<a class="remove" href="javascript:void(0)" title="删除">', '<i class="glyphicon glyphicon-remove"></i>', '</a>' ].join(''); } ``` 6. 定义操作列的事件处理函数 ``` window.operateEvents = { 'click .edit': function (e, value, row, index) { // 编辑事件 $('#table').bootstrapTable('beginEditRow', index); }, 'click .remove': function (e, value, row, index) { // 删除事件 $('#table').bootstrapTable('remove', { field: 'id', values: [row.id] }); } }; ``` 7. 定义保存按钮的事件处理函数 ``` $('#save').click(function () { // 保存事件 $('#table').bootstrapTable('endAllEdit'); }); ``` 以上就是实现 Bootstrap 表格编辑状态的详细步骤。需要注意的是,具体实现可能会因为版本的不同而有所差异,以上代码仅供参考。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值