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


Posted in Javascript onSeptember 27, 2017

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

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

Javascript 相关文章推荐
JavaScript For Beginners(转载)
Jan 05 Javascript
js获取视频时长代码
Apr 10 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
Aug 17 Javascript
关于Jquery中的事件绑定总结
Oct 26 Javascript
node+experss实现爬取电影天堂爬虫
Nov 20 Javascript
详解vue之页面缓存问题(基于2.0)
Jan 10 Javascript
jQuery中绑定事件bind() on() live() one()的异同
Feb 23 Javascript
AngularJS路由实现页面跳转实例
Mar 03 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
May 25 Javascript
在vue中获取dom元素内容的方法
Jul 10 Javascript
RequireJS用法简单示例
Aug 20 Javascript
详解关于vue2.0工程发布上线操作步骤
Sep 27 Javascript
Three.js中网格对象MESH的属性与方法详解
Sep 27 #Javascript
JS实现的简单四则运算计算器功能示例
Sep 27 #Javascript
Three.js利用顶点绘制立方体的方法详解
Sep 27 #Javascript
js实现扫雷小程序的示例代码
Sep 27 #Javascript
Three.js如何实现雾化效果示例代码
Sep 27 #Javascript
浅谈Angular4中常用管道
Sep 27 #Javascript
深入理解Vue.js源码之事件机制
Sep 27 #Javascript
You might like
PHP insert语法详解
2008/06/07 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
Javascript里使用Dom操作Xml
2006/09/20 Javascript
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
js中生成map对象的方法
2014/01/09 Javascript
JavaScript DOM节点添加示例
2014/07/16 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
js编写选项卡效果
2017/05/23 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
对layui中表单元素的使用详解
2018/08/15 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
Python grpc超时机制代码示例
2020/09/14 Python
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
迟到检讨书300字
2014/02/14 职场文书
外国人聘用意向书
2014/04/01 职场文书
银行职员自我鉴定
2014/04/20 职场文书
临床专业自荐信
2014/06/22 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
商场收银员岗位职责
2015/04/07 职场文书
校园环境卫生倡议书
2015/04/29 职场文书
南京南京观后感
2015/06/02 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android