bootstrap table可编辑,三种方法(无弹窗、可校验,列互动)列表和表单一块提交

一、效果图
1、引用bootstrap edittable
在这里插入图片描述
能接受这个小窗口即可用此功能,官方也是这个接口,文档中写的比较详细,此处不多做解释,博主截图为“若以”框架带的案例,开源框架,复制即可,百度若以即可。(可以不出小窗口,但是还是得√才能输入,还是不够友好)
2、edit (触发事件event不好操作,如果不需要校验即可用此方法,功能不好拓展,社区大神得作品,后续没有继续写了)
在这里插入图片描述
理论上此这种功能完美,但是文本校验且和别的单元格得互动比较困难,原作者对此没后后续得维护操作了。
原文:传送门
完整demo下载地址:传送门
3、实现了文本框得编辑,可对文本校验,可以计算合计,也可以影响别的列得值。(丑归丑,需求功能要求复杂,故此操作)
在这里插入图片描述
二、代码实现(1、2有文档和demo)思路
可编辑
1、一个普通得 文本框(设置离开事件,自动一下即可)

{
                        field : 'outPackageNum',
                        title : '箱数',
                        valign:'middle',
                        align:"center",
                        formatter : function(value, row, index) {
                            var html = '<input id="outPackageNumIp'+index+'" onblur="checkPckVal('+index+',this.value)" value="'+value+'" width="10" >';
                            return html;
                        },
                    }

2、这个id加index可唯一定位框,作用是:这个文本框得值与bootstrap得数据毫无关系,所以这里输入得数据先检查合法,合法之后就修改row的值,html是以字符串的方式传递的,所以row对象无法传入,因此‘曲线救国’;
定义一个全局变量:
var rowsarr = new Array();
随便找一个列将row对象放进去
在这里插入图片描述
在校验方法function checkBoxVal(index,val)中,给row赋值,rowsarr[index].outPackageNum= val; 到时候提交数据的时候就是这个值,此时输入结束文本框的值不能丢,需要回显一下,文本框的id都有了,回显$("#outPackageNumIp"+index).val(val);
bootstrap的的数据,改变了row里面的值,需要显示还得刷新,所以直接合计哪里利用可编辑的input换成 一个思路,赋值$('#xxx').text(val) ;row的合计字段也得更新,同样的方法。
三、列表提交

//获取列表的数据
function getDataArray() {
    //是个数组
    var data = $('#exampleTable').bootstrapTable('getData');
    return data;
}

列表通字段一起提交
在这里插入图片描述

 //表单数据
    var tabledata = $('#signupForm').serialize();
     //获取的列表数据
    var instoArray = getDataArray();
     var batchStocks = JSON.stringify( instoArray ).toString();
    var data = tabledata +"&batchStocks="+batchStocks;

ajax提交

 data :data,

后台接收:和正常参数一样,列表数据是一个字符串,解析即可

String  batchStocks =接收对象.getBatchStocks();
List<对象> list = JSONObject.parseArray(batchStocks,  对象.class);
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以通过在Bootstrap弹窗中嵌入一个可编辑表单来实现该功能。以下是一个简单的示例: ``` <!-- 弹窗按钮 --> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"> 打开弹窗 </button> <!-- 弹窗 --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="myModalLabel">编辑表单</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> </div> <div class="modal-body"> <form> <div class="form-group"> <label for="inputName">姓名</label> <input type="text" class="form-control" id="inputName" placeholder="请输入姓名"> </div> <div class="form-group"> <label for="inputEmail">邮箱</label> <input type="email" class="form-control" id="inputEmail" placeholder="请输入邮箱"> </div> <div class="form-group"> <label for="inputPassword">密码</label> <input type="password" class="form-control" id="inputPassword" placeholder="请输入密码"> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> <button type="button" class="btn btn-primary">保存</button> </div> </div> </div> </div> ``` 在上面的示例中,我们在弹窗中嵌入了一个表单,包含了姓名、邮箱和密码三个输入框。用户可以在弹窗编辑表单内容,并点击保存按钮来保存修改。需要注意的是,在弹窗中使用表单时,需要将表单提交按钮的 type 属性设置为 button,否则会触发默认的表单提交行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值