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 相关文章推荐
响应鼠标变换表格背景或者颜色的代码
Mar 30 Javascript
jQuery 常见学习网站与参考书
Nov 09 Javascript
jQuery maxlength文本字数限制插件
Apr 16 Javascript
Javascript 面向对象 继承
May 13 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
Jun 20 Javascript
JS隐藏参数post传值实例
Apr 18 Javascript
extjs每个组件要设置唯一的ID否则会出错
Jun 15 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
Jun 05 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
Sep 23 Javascript
layer弹出层全屏及关闭方法
Aug 17 Javascript
JavaScript动态添加数据到表单并提交的几种方式
Jun 26 Javascript
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 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 什么是PEAR?
2009/03/19 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
python-地图可视化组件folium的操作
2020/12/14 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
经典c++面试题四
2015/05/14 面试题
2014年学校卫生工作总结
2014/11/20 职场文书
小学中等生评语
2014/12/29 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
行政申诉状范文
2015/05/20 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL