bootstrap table实现双击可编辑、添加、删除行功能

本文实例为大家分享了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; width: 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();
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • BootStrap 可编辑表Table格

    一. 显示数据(基础功能) 在html页面中定义表格以及表格的列名,最后把从数据库中查询出来的数据,循环显示到页面中.这个系统用的是PHP语言,里边用到了PHP中的语法,如果是Java语言,把php换成jsp中对应的语法就行 <div class="containe"> <table class="table table-striped table-bordered table-hover"> <thead> <tr cla

  • bootstrap table 服务器端分页例子分享

    1,前台引入所需的js 可以从官网上下载 复制代码 代码如下: function getTab(){ var url = contextPath+'/fundRetreatVoucher/fundBatchRetreatVoucherQuery.htm'; $('#tab').bootstrapTable({ method: 'get', //这里要设置为get,不知道为什么 设置post获取不了 url: url, cache: false, height: 400, striped: tru

  • 第一次动手实现bootstrap table分页效果

    先上图吧,这就是bootstrap table分页效果图 上代码(这一部分是工具栏的,还包括slider滑动条) <div class="box-body"> <div class="row"> <div class="form-group col-xs-3" style="width: 432px;"> <label for="SendUser" class=&q

  • Bootstrap Table的使用总结

    Jquery中的一些东西学习一下子,补充完善一下,毕竟有些时候没有使用到这个方式很有用,在使用bootstrap table的时候,选择当前已经选择的节点的事件中的ID的值 当前rows中有很多的数据,但是我只需要id这一个值,这个时候进行操作就非常的简单了. $.map(data,function(item,index){return XXX}) 使用的总结: 把一个数组,按照新的方式进行组装返回,和原来的数组不一样. 遍历data数组中的每个元素,并按照return中的计算方式 形成一个新的

  • BootStrap的table表头固定tbody滚动的实例代码

    关于bootstrap table其他知识不多说,直接给大家贴代码了. 关键代码如下所示: <!DOCTYPE html> <html> <head> <title></title> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css

  • JS表格组件神器bootstrap table详解(基础版)

    一.Bootstrap Table的引入 关于Bootstrap Table的引入,一般来说还是两种方法: 1.直接下载源码,添加到项目里面来. 由于Bootstrap Table是Bootstrap的一个组件,所以它是依赖Bootstrap的,我们首先需要添加Bootstrap的引用. 2.使用我们神奇的Nuget 打开Nuget,搜索这两个包 Bootstrap已经是最新的3.3.5了,我们直接安装即可. 而Bootstrap Table的版本竟然是0.4,这也太坑爹了.所以博主建议Boot

  • Bootstrap Table使用方法详解

    bootstrap-table使用总结 bootstrap-table是在bootstrap-table的基础上写出来的,专门用于显示数据的表格插件.而bootstrap是来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,具有简便灵活,快速前端开发的优势.对与bootstrap在此就不在叙述.本文将着重讲解自己在项目中使用到bootstrap-table的一些理解和如何学习它. 首先交代一下,jquery ,bootstrap

  • BootStrap table表格插件自适应固定表头(超好用)

    首先是简单的页面形式,大家可以按照平常画表格的方式来创建html表格,然后通过js控制特殊的样式等操作(优点是表格更加直观,方便调整表格样式等,速度快) 当然,也可以只在页面上放一个table标签,之后的所有数据和样式都通过js控制也是可以的,后面会说(优点方便控制修改数据,尤其是ajax方式获取的json格式,但是调整样式比较麻烦) ps:这个是插件的官网,里面有英文api和例子:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ 还有,使用前请引入b

  • JS组件Bootstrap Table使用方法详解

    最近客户提出需求,想将原有的管理系统,做下优化,通过手机也能很好展现,想到2个方案: a方案:保留原有的页面,新设计一套适合手机的页面,当手机访问时,进入m.zhy.com(手机页面),pc设备访问时,进入www.zhy.com(pc页面) b方案:采用bootstrap框架,替换原有页面,自动适应手机.平板.PC 设备 采用a方案,需要设计一套界面,并且要得重新写适合页面的接口,考虑到时间及成本问题,故项目采用了b方案 一.效果展示 二.BootStrap table简单介绍 bootStra

  • Bootstrap嵌入jqGrid,使你的table牛逼起来

    Bootstrap原生的table组件只能满足简单的数据展示,满足不了更富有操作性的要求.当然了,你可以找到一款叫做"DataTables-1.10.11"的基于bootstrap的table组件,但如果你对API看得不甚了解的话,用起来可就痛苦了,但是如果你选择使用jqGrid,那么本篇教程就给你带来了解决这种富操作性table的解决方案. 一.效果展示 OK,就展示这一张图片,相信你已经爱上了bootstrap版的jqGrid,和bootstrap很兼容,简直完美,当然了,这需要我

随机推荐