bootstrap table实现单击单元格可编辑功能


Posted in Javascript onMarch 28, 2017

要使bootstrap-table实现可编辑,需要配合使用x-editable插件。

先在页面上导入必要的css和js文件

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
 <title>bootstrap-table demo</title>
 <!-- Bootstrap 3.3.6 -->
 <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" rel="external nofollow" >
 <!-- Bootstrap table -->
 <link rel="stylesheet" href="bootstrap-table-1.11.0/bootstrap-table.css" rel="external nofollow" >
 <!-- x-editable -->
 <link rel="stylesheet" href="x-editable/bootstrap3-editable/css/bootstrap-editable.css" rel="external nofollow" >
</head>
<body>
 <div class="container">
 <p></p>
 <table id="table" class="table table-bordered table-hover">
 </table>
 </div>
 <!-- jQuery 2.2.0 -->
 <script src="jQuery-2.2.0.min.js"></script>
 <!-- Bootstrap 3.3.6 -->
 <script src="bootstrap/js/bootstrap.min.js"></script>
 <!-- bootstrap table -->
 <script src="bootstrap-table-1.11.0/bootstrap-table.js"></script>
 <script src="bootstrap-table-1.11.0/extensions/editable/bootstrap-table-editable.js"></script>
 <script src="x-editable/bootstrap3-editable/js/bootstrap-editable.js"></script>
 <script src="bootstrap-table-1.11.0/locale/bootstrap-table-zh-CN.min.js"></script>
 <script type="text/javascript">
 $(function(){
  $('#table').bootstrapTable({
   url:'data.json',
   columns:[
    {field: 'id',title: 'ID'},
    {field: 'name',title: '名称'},
    {field: 'price',title: '单价'},
    {field: 'number',title: '数量', sortable:true,
     cellStyle:function(value,row,index) {
      return {
       "css":{
        padding:'0px'
       }
      };
     },
     formatter:function(value,row,index){
      if(value == undefined) return "0";
      else return value;
     },
     editable:{
      type:'text',
      clear:false,
      validate:function(value){
       if(isNaN(value)) return {newValue:0, msg:'只允许输入数字'};
       else if(value<0) return {newValue:0, msg:'数量不能小于0'};
       else if(value>=1000000) return {newValue:0, msg:'当前最大只能输入999999'};
      },
      display:function(value){
       $(this).text(Number(value));
      },
      //onblur:'ignore',
      showbuttons:false,
      defaultValue:0,
      mode:'inline'
     }
    },
    {field:'amount', title: '总价'}
   ],
   //height:300,
   idField:'id',
   onEditableHidden: function(field, row, $el, reason) { // 当编辑状态被隐藏时触发
    if(reason === 'save') {
     var $td = $el.closest('tr').children();
     $td.eq(-1).html((row.price*row.number).toFixed(2));
     $el.closest('tr').next().find('.editable').editable('show'); //编辑状态向下一行移动
    } else if(reason === 'nochange') {
     $el.closest('tr').next().find('.editable').editable('show');
    }
   }
  });
  $('#table').on( 'click', 'td:has(.editable)', function (e) {
   //e.preventDefault();
   e.stopPropagation(); // 阻止事件的冒泡行为
   $(this).find('.editable').editable('show'); // 打开被点击单元格的编辑状态
  } );

 });
 </script>

</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js网页版计算器的简单实现
Jul 02 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
May 17 Javascript
jQuery过滤选择器用法示例
Sep 12 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 Javascript
详解使用vue实现tab 切换操作
Jul 03 Javascript
原生js实现移动端触摸轮播的示例代码
Dec 22 Javascript
React Native基础入门之调试React Native应用的一小步
Jul 02 Javascript
JavaScript ES2019中的8个新特性详解
Feb 20 Javascript
vue项目中使用多选框的实例代码
Jul 22 Javascript
解决vue-router 嵌套路由没反应的问题
Sep 22 Javascript
Vue项目利用axios请求接口下载excel
Nov 17 Vue.js
JavaScript文档对象模型DOM
Nov 20 Javascript
Web前端框架Angular4.0.0 正式版发布
Mar 28 #Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 #Javascript
js实现多行文本框统计剩余字数功能
Mar 28 #Javascript
js实现下拉框效果(select)
Mar 28 #Javascript
vue2.0获取自定义属性的值
Mar 28 #Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
Mar 27 #Javascript
利用NPM淘宝的node.js镜像加速nvm
Mar 27 #Javascript
You might like
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
javascript工具库代码
2012/03/29 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
python避免死锁方法实例分析
2015/06/04 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Linux下多个Python版本安装教程
2018/08/15 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
python算的上脚本语言吗
2020/06/22 Python
django创建css文件夹的具体方法
2020/07/31 Python
python Pexpect模块的使用
2020/12/25 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
应届中专生自荐书范文
2014/02/13 职场文书
亲子读书活动方案
2014/02/22 职场文书
党员个人剖析材料
2014/09/30 职场文书
工程部主管岗位职责
2015/02/12 职场文书
酒店开业主持词
2015/07/02 职场文书
运动会3000米加油稿
2015/07/21 职场文书