bootstrap table实现单击单元格可编辑功能

发布时间 - 2026-01-11 00:24:05    点击率:

要使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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# bootstrap  # table  # x  # editable  # Bootstrap Table 在指定列中添加下拉框控件并获取所选值  # Bootstrap Table列宽拖动的方法  # bootstrap table列和表头对不齐的解决方法  # Bootstrap Table使用方法详解  # JS组件Bootstrap Table使用方法详解  # bootstrap table单元格新增行并编辑  # 值得分享的bootstrap table实例  # 值得分享的轻量级Bootstrap Table表格插件  # 基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortab  # Bootstrap table列上下移动效果  # 先在  # 要使  # 大家多多  # 只允许  # 单元格 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  如何在服务器上三步完成建站并提升流量?  移动端脚本框架Hammer.js  javascript日期怎么处理_如何格式化输出  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在IIS7中新建站点?详细步骤解析  如何解决hover在ie6中的兼容性问题  微信小程序 canvas开发实例及注意事项  如何在橙子建站上传落地页?操作指南详解  如何续费美橙建站之星域名及服务?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  如何快速搭建FTP站点实现文件共享?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  ,怎么在广州志愿者网站注册?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  如何在橙子建站中快速调整背景颜色?  Laravel怎么为数据库表字段添加索引以优化查询  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  新三国志曹操传主线渭水交兵攻略  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  焦点电影公司作品,电影焦点结局是什么?  iOS UIView常见属性方法小结  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel如何生成API文档?(Swagger/OpenAPI教程)  JavaScript如何操作视频_媒体API怎么控制播放  创业网站制作流程,创业网站可靠吗?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  如何用美橙互联一键搭建多站合一网站?  青岛网站建设如何选择本地服务器?  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  敲碗10年!Mac系列传将迎来「触控与联网」双革新  公司门户网站制作流程,华为官网怎么做?  php485函数参数是什么意思_php485各参数详细说明【介绍】  高端建站如何打造兼具美学与转化的品牌官网?  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Java垃圾回收器的方法和原理总结  Linux系统命令中screen命令详解  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】