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 扩展对input的一些操作方法
Oct 30 Javascript
在JavaScript中typeof的用途介绍
Apr 11 Javascript
js操作checkbox遇到的问题解决
Jun 29 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 Javascript
JavaScript Math.ceil() 函数使用介绍
Dec 11 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
easyUI下拉列表点击事件使用方法
May 18 Javascript
详解angularJs中关于ng-class的三种使用方式说明
Jun 02 Javascript
Bootstrap输入框组件使用详解
Jun 09 Javascript
加载 vue 远程代码的组件实例详解
Nov 20 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 Javascript
jquery插件实现图片悬浮
Apr 16 jQuery
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隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
Vuex实现数据共享的方法
2019/12/20 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
12个Python程序员面试必备问题与答案(小结)
2019/06/24 Python
Django接收自定义http header过程详解
2019/08/23 Python
python SVD压缩图像的实现代码
2019/11/05 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
Office DEPOT法国官网:欧迪办公用品采购
2018/01/03 全球购物
工作总结与自我评价
2014/09/18 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
民间借贷借条范本
2015/05/25 职场文书