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 相关文章推荐
js不是基础的基础
Dec 24 Javascript
一个符号插入器 中用到的js代码
Sep 04 Javascript
15条JavaScript最佳实践小结
Aug 09 Javascript
js实现下拉列表选中某个值的方法(3种方法)
Dec 17 Javascript
javascript实现label标签跳出循环操作
Mar 06 Javascript
JS onkeypress兼容性写法详解
Apr 27 Javascript
JavaScript绑定事件监听函数的通用方法
May 14 Javascript
防止Node.js中错误导致进程阻塞的办法
Aug 11 Javascript
jQuery webuploader分片上传大文件
Nov 07 Javascript
js数字舍入误差以及解决方法(必看篇)
Feb 28 Javascript
AngularJS实现动态切换样式的方法分析
Jun 26 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
Jul 24 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 MsSql server时遇到的中文编码问题
2009/06/11 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
移动端 一个简单易懂的弹出框
2016/07/06 Javascript
JS动态加载脚本并执行回调操作
2016/08/24 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
python数组过滤实现方法
2015/07/27 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
python3实现名片管理系统
2020/11/29 Python
pygame实现弹球游戏
2020/04/14 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
班组长竞聘书
2014/03/31 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
Python编写nmap扫描工具
2021/07/21 Python
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android