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 相关文章推荐
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
Feb 03 Javascript
浅谈Javascript事件模拟
Jun 27 Javascript
javascript中数组的concat()方法使用介绍
Dec 18 Javascript
window.open 以post方式传递参数示例代码
Feb 27 Javascript
javascript字符串循环匹配实例分析
Jul 17 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
Jan 12 Javascript
JS三级可折叠菜单实现方法
Feb 29 Javascript
React.js入门学习第一篇
Mar 30 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
Oct 15 Javascript
js时间转换毫秒的实例代码
Aug 21 Javascript
使用typescript构建Vue应用的实现
Aug 26 Javascript
一篇文章弄清楚Ajax请求的五个步骤
Mar 17 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的历史和优缺点
2006/10/09 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
php判断正常访问和外部访问的示例
2014/02/10 PHP
php按单词截取字符串的方法
2015/04/07 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
Javascript倒计时代码
2010/08/12 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
bootstrap Table服务端处理分页(后台是.net)
2017/10/19 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
Python基础学习之时间转换函数用法详解
2019/06/18 Python
python 获取等间隔的数组实例
2019/07/04 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
外贸专业求职信
2014/03/09 职场文书
家长对学生的评语
2014/04/18 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
高中数学教学反思范文
2016/02/18 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang