Bootstrap-table动态新增行,删除行,可编辑

2023-10-30

Bootstrap-table动态新增行,删除行,可编辑

效果图

在这里插入图片描述

html

<div class="table-box" style="margin: 20px;">
   <div id="toolbar">
        <a id="addRow" onclick="addRow()">添加行</a>
        <a id="removeRow" onclick="removeRow()">删除行</a>
    </div>
    <table id="exampleTable"></table>
 </div>
 

js

<script type="text/javascript">
	$(function () {
	$('#exampleTable').bootstrapTable({
	                // url: '',//如果需要请求后台获取初始数据的话,这里写请求地址
	                // toolbar: '#toolbar',
	                // clickEdit: true,
	                // showToggle: true,
	                // pagination: true,       //显示分页条
	                // showColumns: true,
	                // showPaginationSwitch: true,     //显示切换分页按钮
	                // showRefresh: true,      //显示刷新按钮
	                // //clickToSelect: true,  //点击row选中radio或CheckBox
	                columns: [{
	                    checkbox: true
	                },
	                {
	                    field: 'index',
	                    title: '序列',
	                    formatter:function(value, row, index) {
	                        return row.index = index+1; //返回行号
	                    }
	                },{
	                    field: 'contactsName',
	                    title: '联系人',
	                    formatter: function(value,row,index){
	                        var result ="<input id='"+index+"contactsName' placeholder='联系人'" +
	                            "class='form-control'  value='"+(value==undefined?'':value)+"'  οnblur='getValues("+index+")'>";
	                        return result //formatter 这里,里面的value一定要加,不然写值的时候会写不上去
	                    }
	                },
	                {
	                    field: 'email',
	                    title: '邮箱',
	                    formatter: function(value,row,index){
	                        var  result ="<input id='"+index+"email' placeholder='邮箱'" +
	                            "class='form-control' value='"+(value==undefined?'':value)+"' οnblur='getValues("+index+")'>";
	                        return result
	                    }
	                }, {
	                    field: 'telphone',
	                    title: '电话',
	                    formatter: function(value,row,index){
	                        var result ="<input id='"+index+"telphone' placeholder='电话'" +
	                            "class='form-control' value='"+(value==undefined?'':value)+"'  οnblur='getValues("+index+")'>";
	                        return result
	                    }
	                },{
	                    field: 'comment',
	                    title: '备注',
	                    formatter: function(value,row,index){
	                        var result ="<input id='"+index+"comment' placeholder='备注'" +
	                            "class='form-control' value='"+(value==undefined?'':value)+"' οnblur='getValues("+index+")'>";
	                        return result
	                    }
	                }]
	            });
}
//添加行
        function addRow(){
            var row=
                {
                    "contactsName":"",
                    "email":"",
                    "telphone":"",
                    "comment":""
                };
            //append  追加到最后一行
            //prepend  新增到第一行
            $('#exampleTable').bootstrapTable('append', row);
            //更新行数据
            $('#exampleTable').bootstrapTable('updateRow',row);
            //定位到最后一行
            $('#exampleTable').bootstrapTable('scrollTo', 'bottom');
        }

        function getValues(index) {
            var rows = $('#exampleTable').bootstrapTable('getData');
            $.each(rows, function (i, row) {
                if (row.index == (index + 1)) {
                    row.contactsName = $("#" + index + "contactsName").val();
                    row.email = $("#" + index + "email").val();
                    row.telphone = $("#" + index + "telphone").val();
                    row.comment = $("#" + index + "comment").val();
                    $('#exampleTable').bootstrapTable('updateRow', row);
                    return false;
                }
            });
        }

        function removeRow(){
            var rows = $('#exampleTable').bootstrapTable('getSelections');//获取选中行
            if (rows.length == 0) {
                layer.msg("请选择要删除的数据");
                return;
            }
            var indexs=[];
            for(var i=0;i<rows.length;i++){
                indexs[i]=rows[i].index;
            }
//删除
            $('#exampleTable').bootstrapTable('remove', {
                field:'index',
                values:indexs
            });

        }
</script>

嗯,就这样。
如果觉得这个不太行的话,另一个博客指路:https://blog.csdn.net/dizuncainiao/article/details/81742971

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bootstrap-table动态新增行,删除行,可编辑 的相关文章

  • Sonar代码质量管理

    一 简介 1 1 什么是Sonar Sonar是一个用于代码质量管理的开源平台 用于管理代码的质量 是一个Web系统 展现了静态代码扫描的结果 通过插件形式可以支持二十几种语言的代码质量检测 通过多个维度的检查了快速定位代码中潜在的或者明显

随机推荐

  • fopen 参数'rb' 与'rb+'引发的黑色血案

    目录 一 背景 二 代码说明 1 下面是出错的代码 2 如何变正常的 三 问题分析 1 关于rb与rb 的区别 2 关于fread的两种形式说明 3 原因分析 一 背景 为了把windows上的算法库移植到linux上 文件读写部分去掉了C
  • IO流(异常的处理)

    IO流 概述 IO流 又叫输入输出流 当我们将内存中的数据写到硬盘上时 这个过程叫输出流 Output 当我们将硬盘上的数据读取到内存中时 叫做输入流 Input 流本身是一个抽象概念 是 对数据传输的总称 也就是说 数据在设备键的传输 叫
  • 跟李沐学AI之注意力机制+transformer

    注意力机制 注意力提示 注意力的可视化 注意力汇聚 平均汇聚 非参数注意力汇聚 带参数注意力汇聚 注意力评分函数 掩蔽softmax操作 加性注意力 缩放点积注意力 Bahdanau注意力 多头注意力机制 自注意力和位置编码 transfo
  • (java)leetcode-445 Add Two Numbers II(两数相加 II)

    题目描述 给你两个 非空 链表来代表两个非负整数 数字最高位位于链表开始位置 它们的每个节点只存储一位数字 将这两数相加会返回一个新的链表 你可以假设除了数字 0 之外 这两个数字都不会以零开头 进阶 如果输入链表不能修改该如何处理 换句话
  • jupyter的安装与使用

    目录 一 jupyter的介绍 二 安装与运行 1 使用Anaconda安装 2 使用pip命令安装 1 首先通过win R打开命令符输入pip version 查看电脑python环境 编辑 2 输入jupyter notebook的命令
  • 有时OPEN***提示报错,如下错误及解决方法

    Dec 14 11 40 47 nfs12 open 31685 TLS ERROR BIO read tls read plaintext error error 14090086 SSL routines SSL3 GET SERVER
  • VScode绑定码云并向仓库上传代码

    文章目录 一 下载git 二 使用步骤 1 Git的全局配置 2 配置Git 3 VScode的配置 总结 一 下载git 下载链接 点击download即可 下载完成后 按照默认安装即可 二 使用步骤 1 Git的全局配置 代码如下 示例
  • 卸载Ubuntu自带的Qt4和Qt5

    执行如下操作 首先移除库 sudo apt get remove qtcreator sudo apt get remove qt5 上面是移除qt5 移除qt4的时候把qt5改成qt4就可以了 下面也是一样的 移除依赖文件 sudo ap
  • 《Python进阶系列》一:使用Python包组织代码

    使用Python包 package 组织代码 最近在看 Python入门技能树 时 看到了Python包组织代码觉得很有意思 特地写个笔记总结一下 quad Python 通过包 package 的方式来组织代码 包是一种特殊的模块 mod
  • vue3-ElmentPlus封装通用表格-含单元格操作-多选-分页器

    Sam9029的CSDN博客主页 Sam9029的博客 CSDN博客 JS学习 CSS学习 Vue 2领域博主 恭喜你 若此文你认为写的不错 不要吝啬你的赞扬 求收藏 求评论 求一个大大的赞 已经有很久没有写文章了 贪玩 摆烂 不想动 低情
  • GAN初识

    1 生成对抗网络GAN简介 1 1 生成器 G Z 接受随机噪声Z作为输入生成仿品 并训练自己去欺骗判别器D 让D以为G Z 产生的任何数据都是真实的 1 2 判别器 D Y 可以基于真品和仿品来判断仿造品的仿真程度 通常值越靠近0表示越真
  • 数字信号处理理解

    心得体会 给自己看的 傅里叶变换 FT FS DTFT DFS 傅里叶变换虚部理解 每个函数都可以写成奇分量 偶分量 偶分量用很多cos合成 奇分量用很多sin合成 频谱上 实轴上冲激函数就是由这些cos合成 那如果是sin合成的呢 那就是
  • mkdocs 编辑及启动

    mkdocs 编辑及启动 新建项目以及 md 文件之后 如图 具体代码为 mkdocs 核心配置代码 编写完成之后 编译 cd mkdocs docs make html 成功之后 会自动生成 build文件 启动 firefox buil
  • elementUI中的el-form常用校验规则

    elementUI中的el form常用校验规则 校验使用方式 rules name required true message 请输入活动名称 trigger blur min 3 max 5 message 长度在 3 到 5 个字符
  • 【PTA】跟奥巴马一起画方块

    美国总统奥巴马不仅呼吁所有人都学习编程 甚至以身作则编写代码 成为美国历史上首位编写计算机代码的总统 2014年底 为庆祝 计算机科学教育周 正式启动 奥巴马编写了很简单的计算机代码 在屏幕上画一个正方形 现在你也跟他一起画吧 输入格式 输
  • 【计算机视觉

    文章目录 一 检测相关 5篇 1 1 Detecting Manufacturing Defects in PCBs via Data Centric Machine Learning on Solder Paste Inspection
  • docker部署nginx时,proxy_pass填localhost报错502

    文章目录 docker部署nginx时 proxy pass填localhost报错502 原因 参考链接 https blog csdn net qq 38623939 article details 129582950 docker部署
  • iar如何生成hex文件

    生成方法如下 1 工具需求 1 iar平台 2 第一种方法 首先在工程选项options里面 选中output converter选项 接着勾中Generate additional output选项 1 然后在Output format
  • nagios发送邮件命令配置

    define command command name notify by email command line usr bin printf b Nagios n nNotification Type NOTIFICATIONTYPE n
  • Bootstrap-table动态新增行,删除行,可编辑

    Bootstrap table动态新增行 删除行 可编辑 效果图 html div class table box style margin 20px div a 添加行 a a 删除行 a div table table div js