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限制textarea每行输入字符串长度的代码
Oct 31 Javascript
JQuery设置获取下拉菜单某个选项的值(比较全)
Aug 05 Javascript
JS不能跨域借助jquery获取IP地址的方法
Aug 20 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
跟我学习javascript的最新标准ES6
Nov 20 Javascript
JS实现页面数据无限加载
Sep 13 Javascript
jquery利用json实现页面之间传值的实例解析
Dec 12 Javascript
谈谈jQuery之Deferred源码剖析
Dec 19 Javascript
vue2 设置router-view默认路径的实例
Sep 20 Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 Javascript
vue分页插件的使用方法
Dec 25 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 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/22 PHP
php发送post请求的三种方法
2014/02/11 PHP
PHP中file_exists函数不支持中文名的解决方法
2014/07/26 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
angular.fromJson与toJson方法用法示例
2017/05/17 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
python字符串中的单双引
2017/02/16 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
Python中的全局变量如何理解
2020/06/04 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
优秀经理获奖感言
2014/03/04 职场文书
政治思想表现评语
2014/05/04 职场文书
导游词300字
2015/02/13 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python
git stash(储藏)的用法总结
2022/06/25 Servers