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 相关文章推荐
使用jQuery轻松实现Ajax的实例代码
Aug 16 Javascript
jQuery入门介绍之基础知识
Jan 13 Javascript
vuejs父子组件通信的问题
Jan 11 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
Vue声明式渲染详解
May 17 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
Aug 12 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
Vue实现侧边菜单栏手风琴效果实例代码
May 31 Javascript
微信小程序实现图片滚动效果示例
Dec 05 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
Aug 27 Javascript
layui form表单提交之后重新加载数据表格的方法
Sep 11 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
Feb 15 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分页显示制作详细讲解
2006/10/09 PHP
PHP 分页原理分析,大家可以看看
2009/12/21 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
使用python模拟命令行终端的示例
2019/08/13 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Python数学形态学实例分析
2019/09/06 Python
python单例模式原理与创建方法实例分析
2019/10/26 Python
Python 寻找局部最高点的实现
2019/12/05 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
积极分子思想汇报
2014/01/04 职场文书
2014国庆节餐厅促销活动策划方案
2014/09/16 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
免职通知
2015/04/23 职场文书
高一数学教学反思
2016/02/18 职场文书