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可访问其它域名的cookie的方法
Sep 18 Javascript
js的with语句使用方法
Sep 21 Javascript
javascript 延迟加载技术(lazyload)简单实现
Jan 17 Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 Javascript
最简单的tab切换实例代码
May 13 Javascript
js调用父框架函数与弹窗调用父页面函数的简单方法
Nov 01 Javascript
微信小程序 增、删、改、查操作实例详解
Jan 13 Javascript
jQuery快速实现商品数量加减的方法
Feb 06 Javascript
jquery仿ps颜色拾取功能
Mar 08 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
Apr 22 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
小程序实现列表多个批量倒计时
Jan 29 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 日,周,月点击排行统计
2012/01/11 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
2018/05/06 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
python 实现数字字符串左侧补零的方法
2018/12/04 Python
Django rest framework jwt的使用方法详解
2019/08/08 Python
如何基于Python按行合并两个txt
2020/11/03 Python
python tqdm库的使用
2020/11/30 Python
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
职业生涯规划书的格式
2013/12/29 职场文书
工作时间上网检讨书
2014/02/03 职场文书
班长自荐书范文
2014/02/11 职场文书
高中生操行评语大全
2014/04/25 职场文书
财务部绩效考核方案
2014/05/04 职场文书
关爱老人标语
2014/06/21 职场文书
未婚证明书模板
2014/10/08 职场文书
新兵入伍决心书
2015/09/22 职场文书
高一作文之暖冬
2019/11/09 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫