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 相关文章推荐
Dom 学习总结以及实例的使用介绍
Apr 24 Javascript
jquery实现弹出窗口效果的实例代码
Nov 28 Javascript
做好七件事帮你提升jQuery的性能
Feb 06 Javascript
讲解JavaScript中for...in语句的使用方法
Jun 03 Javascript
使用jQuery获取data-的自定义属性
Nov 10 Javascript
学习JavaScript设计模式之装饰者模式
Jan 19 Javascript
有关JavaScript中call()和apply() 的一些理解
May 20 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
js实现随机抽奖
Mar 19 Javascript
通过实例解析jQ Ajax操作相关原理
Sep 23 Javascript
vue实现井字棋游戏
Sep 29 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函数(简单整理)
2010/04/30 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
PHP预定义变量9大超全局数组用法详解
2016/04/23 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
Three.js实现3D机房效果
2018/12/30 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
python实现百度关键词排名查询
2014/03/30 Python
使用python加密自己的密码
2015/08/04 Python
python树莓派红外反射传感器
2019/01/21 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
捐款倡议书
2014/04/14 职场文书
药品业务员岗位职责
2014/04/17 职场文书
英文求职信范文
2014/05/23 职场文书
婚前协议书标准版
2014/10/19 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis