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 相关文章推荐
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
Jquery promise实现一张一张加载图片
Nov 13 Javascript
JavaScript与HTML的结合方法详解
Nov 23 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
Dec 03 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
使用Ajax生成的Excel文件并下载的实例
Nov 21 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
Aug 07 Javascript
js序列化和反序列化的使用讲解
Jan 19 Javascript
js实现全选和全不选
Jul 28 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 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
跟我学Laravel之安装Laravel
2014/10/15 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
PHP实现验证码校验功能
2017/11/16 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
Python 学习笔记
2008/12/27 Python
Python批量转换文件编码格式
2015/05/17 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
详解python中的 is 操作符
2017/12/26 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
Python基于scipy实现信号滤波功能
2019/05/08 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
Html5百叶窗效果的示例代码
2017/12/11 HTML / CSS
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
幼儿教师师德承诺书
2014/05/23 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
2014小学年度工作总结
2014/12/20 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
2015年学校政教工作总结
2015/07/20 职场文书