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 相关文章推荐
静态的动态续篇之来点XML
Dec 23 Javascript
Ajax一统天下之Dojo整合篇
Mar 24 Javascript
用ASP将SQL搜索出来的内容导出为TXT的代码
Jul 27 Javascript
JS date对象的减法处理实现代码
Dec 28 Javascript
jquery中ajax调用json数据的使用说明
Mar 17 Javascript
不提示直接关闭网页窗口的JS示例代码
Dec 17 Javascript
原创jQuery弹出层插件分享
Apr 02 Javascript
AngularJS 遇到的小坑与技巧小结
Jun 07 Javascript
js与jquery分别实现tab标签页功能的方法
Nov 18 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
May 26 Javascript
Javasript设计模式之链式调用详解
Apr 26 Javascript
turn.js异步加载实现翻书效果
Jul 25 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/08/08 PHP
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
新闻内页-JS分页
2006/06/07 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
vue 扩展现有组件的操作
2020/08/14 Javascript
Python字符串切片操作知识详解
2016/03/28 Python
python语言中with as的用法使用详解
2018/02/23 Python
使用requests库制作Python爬虫
2018/03/25 Python
python 实现倒排索引的方法
2018/12/25 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
《夜晚的实验》教学反思
2014/02/19 职场文书
家长写给老师的建议书
2014/03/13 职场文书
师德建设实施方案
2014/03/21 职场文书
保护环境倡议书500字
2014/05/19 职场文书
学位证书委托书
2014/09/30 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
中秋节主题班会
2015/08/14 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL
电频谱管理的原则是什么
2022/02/18 无线电
python超详细实现完整学生成绩管理系统
2022/03/17 Python