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 相关文章推荐
script不刷新页面的联动前后代码
Sep 18 Javascript
jQuery实现的原图对比窗帘效果
Jun 15 Javascript
七夕情人节丘比特射箭小游戏
Aug 20 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
Nov 24 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
Jul 22 Javascript
原生JS实现的放大镜效果实例代码
Oct 15 Javascript
基于cookie实现zTree树刷新后展开状态不变
Feb 28 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
May 26 Javascript
Vue与Node.js通过socket.io通信的示例代码
Jul 25 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
Jan 18 Javascript
微信小程序去除左上角返回键的实现方法
Mar 06 Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 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
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
2020/01/19 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
python实现通过shelve修改对象实例
2014/09/26 Python
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
苹果音乐订阅:Apple Music
2018/08/02 全球购物
工商管理毕业生推荐信
2013/12/24 职场文书
品质主管岗位职责
2014/03/16 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
安全生产奖惩制度
2015/08/06 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
导游词之崇武古城
2019/10/07 职场文书
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技