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操作ACCESS数据库(读增改删)的代码
May 14 Javascript
Javascript中的isNaN函数使用说明
Nov 10 Javascript
js 高效去除数组重复元素示例代码
Dec 19 Javascript
jQuery实现的网页左侧在线客服效果代码
Oct 23 Javascript
ThinkJS中如何使用MongoDB的CURD操作
Dec 13 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
Jan 04 Javascript
微信小程序开发之Tabbar实例详解
Jan 09 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
ionic选择多张图片上传的示例代码
Oct 10 Javascript
layui的table单击行勾选checkbox功能方法
Aug 14 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
Sep 16 Javascript
JS中注入eval, Function等系统函数截获动态代码
Apr 03 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+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
详解vue表单——小白速看
2018/04/08 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
numpy返回array中元素的index方法
2018/06/27 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python绘制彩虹图
2019/12/16 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
浅谈django 重载str 方法
2020/05/19 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
HTML5有哪些新特征
2015/12/01 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
旅游个人求职信范文
2014/01/30 职场文书
副总经理任命书
2014/06/05 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
2015年大学生工作总结
2015/04/21 职场文书
搞笑结婚保证书
2015/05/08 职场文书
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python
python中取整数的几种方法
2021/11/07 Python
JS实现简单的九宫格抽奖
2022/06/28 Javascript