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 chosen动态设置值实例介绍
Aug 08 Javascript
jQuery 删除/替换DOM元素的几种方式
May 20 Javascript
javascript制作的cookie封装及使用指南
Jan 02 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
Aug 27 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
JS获取html元素的标记名实现方法
Oct 08 Javascript
Bootstrap基本插件学习笔记之按钮(21)
Dec 08 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
使用apifm-wxapi模块中的问题及解决方法
Aug 05 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
vue数据更新UI不刷新显示的解决办法
Aug 06 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
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
jQuery中:reset选择器用法实例
2015/01/04 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
python实现批量修改图片格式和尺寸
2018/06/07 Python
浅谈python标准库--functools.partial
2019/03/13 Python
python进度条显示之tqmd模块
2020/08/22 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
Linux Interview Questions For software testers
2012/06/02 面试题
应届毕业生的个人自我鉴定
2013/10/24 职场文书
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
内勤主管岗位职责
2014/04/03 职场文书
教师辞职书范文
2015/02/26 职场文书
护士自荐信范文
2015/03/25 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
2019大学生实习报告
2019/06/21 职场文书
DSP接收机前端设想
2022/04/05 无线电
netty 实现tomcat的示例代码
2022/06/05 Servers