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 相关文章推荐
javascript 伪数组实现方法
Oct 11 Javascript
JS按位非(~)运算符与~~运算符的理解分析
Jul 31 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
Nov 26 Javascript
JavaScript中省略元素对数组长度的影响
Oct 26 Javascript
Node解决简单重复问题系列之Excel内容的获取
Jan 02 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
原生JS实现列表内容自动向上滚动效果
May 22 Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
Sep 28 Javascript
js数据类型转换与流程控制操作实例分析
Dec 18 Javascript
javascript 易错知识点实例小结
Apr 25 Javascript
JavaScript实例 ODO List分析
Jan 22 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 ZipArchive压缩函数详解实例
2013/11/06 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
React 父子组件通信的实现方法
2019/12/05 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
python+mysql实现简单的web程序
2014/09/11 Python
python实现简单神经网络算法
2018/03/10 Python
Python可迭代对象操作示例
2019/05/07 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
python标识符命名规范原理解析
2020/01/10 Python
Django分组聚合查询实例分享
2020/04/29 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
高级方案规划工程师岗位职责
2013/11/29 职场文书
协议书格式
2014/04/23 职场文书
董事长助理岗位职责
2015/02/11 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
贫困证明怎么写
2015/06/16 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python