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 相关文章推荐
ext combox 下拉框不出现自动提示,自动选中的解决方法
Feb 24 Javascript
juqery 学习之四 筛选过滤
Nov 30 Javascript
jquery连缀语法如何实现
Nov 29 Javascript
document.documentElement的一些使用技巧
Apr 18 Javascript
JavaScript整除运算函数ceil和floor的区别分析
Apr 14 Javascript
Javascript对象字面量的理解
Jun 22 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
微信小程序自动客服功能
Nov 02 Javascript
浅谈Vue组件及组件的注册方法
Aug 24 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
vue监听用户输入和点击功能
Sep 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
php单件模式结合命令链模式使用说明
2008/09/07 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
python实现简单ftp客户端的方法
2015/06/28 Python
python从入门到精通(DAY 3)
2015/12/20 Python
python正则表达式之作业计算器
2016/03/18 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
python随机数分布random测试
2018/08/27 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
Django静态文件加载失败解决方案
2020/08/26 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
美国著名的团购网站:Woot
2016/08/02 全球购物
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
优秀实习自我鉴定
2013/12/04 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
工作表扬信
2015/01/17 职场文书
通知函格式范文
2015/04/27 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL