关于bootstrap table 在页面进行假数据增删改,不通过后台数据库操作

前端页面

<html>

<head>

<title></title>

</head>

<body>

<div id="toolbar" class="btn-group">
            <button id="btn_add" type="button" class="btn btn-default" onclick="addBtn();">
                <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增
            </button>
            <button id="btn_edit" type="button" class="btn btn-default" onclick="updateBtn();">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
            </button>
            <button id="btn_delete" type="button" class="btn btn-default" onclick="del_();">
                <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
            </button>
        </div>

<div class="container" style="width: 100%">
        <table id="tb_assets"></table>
    </div>

</body>

</html>

js块

$(function(){

            //1.初始化Table
            var oTable = new TableInit();
            oTable.Init();

            //2.初始化Button的点击事件
            var oButtonInit = new ButtonInit();
            oButtonInit.Init();
            
        });
        
         var TableInit = function() {
            var oTableInit = new Object();
            //初始化Table
            oTableInit.Init = function(){
                $('#tb_assets').bootstrapTable({
                    //url: '../../assets/get', //请求后台的URL(*)
                    //method : 'get', //请求方式(*)
                    toolbar : '#toolbar', //工具按钮用哪个容器
                    showFooter: true,  //表格脚部,用来计算统计总和
                    classes: "table-no-bordered",  //表格无边框
                    striped : true, //是否显示行间隔色
                    cache : false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
                    pagination : true, //是否显示分页(*)
                    sortable : false, //是否启用排序
                    sortOrder : "asc", //排序方式
                    queryParams : oTableInit.queryParams,//传递参数(*)
                    sidePagination : "client", //分页方式:client客户端分页,server服务端分页(*)
                    pageNumber : 1, //初始化加载第一页,默认第一页
                    pageSize : 10, //每页的记录行数(*)
                    pageList : [ 10, 25, 50, 100 ], //可供选择的每页的行数(*)
                    search : false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
                    strictSearch : true,
                    showColumns : false, //是否显示所有的列
                    showRefresh : false, //是否显示刷新按钮
                    minimumCountColumns : 2, //最少允许的列数
                    clickToSelect : true, //是否启用点击选中行
                    height : 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
                    uniqueId : "ID", //每一行的唯一标识,一般为主键列
                    showToggle : false, //是否显示详细视图和列表视图的切换按钮
                    cardView : false, //是否显示详细视图
                    detailView : false, //是否显示父子表
                    columns : [ {
                        checkbox : true,
                    }, {
                        field : 'ID',
                        title : 'id',
                        visible : true
                    }, {
                        field : 'assetsType',
                        title : '类型',
                        align: 'center',
                        valign: 'middle',
                        footerFormatter : function(){
                            return 'total'
                        }
                    }, {
                        field : 'assetsAmt',
                        title : '价值',
                        align: 'center',
                        valign: 'middle'
                    }, {
                        field : 'coefficient',
                        title : '系数',
                        align: 'center',
                        valign: 'middle'
                    }, {
                        field : 'valueAmt',
                        title : '最终价值',
                        align: 'center',
                        valign: 'middle',
                        footerFormatter : function(data){   //返回认定该列的总和
                             field = this.field;
                                return data.reduce(function(sum, row) {
                                    return sum + (+row[field]);
                                }, 0);
                        }
                        }]
                /*,此处是给表格初始一个数据,是假数据,新增后不再存在
                    data:[{               
                        assetsType:"活期存款",
                        assetsAmt:"9000",
                        coefficient:"90",
                        valueAmt:"8100",      
                    }]*/
                });
            };

            //得到查询的参数
            oTableInit.queryParams = function(params) {
                var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
                    limit : params.limit, //页面大小
                    offset : params.offset, //页码
                    departmentname : $("#txt_search_departmentname").val(),
                    statu : $("#txt_search_statu").val()
                };
                return temp;
            };
            return oTableInit;
        };

        var ButtonInit = function() {
            var oInit = new Object();
            var postdata = {};

            oInit.Init = function() {
                //初始化页面上面的按钮事件
            };

            return oInit;
        };

bootstrap table 自带的方法


页面新增:

   var num = 1;  //计数器
        function primaryAssets(){
            var data = {   //要插入的数据,这里要和table列名一致
                    ID : num,
                    recUid : 1,
                    assetsType : $('#assetsType').val(),  //获取模态框input的值

                    assetsAmt : $('#assetsAmt').val(),
                    coefficient : $('#coefficient').val(),
                    valueAmt : $('#valueAmt').val()
            }
            $('#tb_assets').bootstrapTable('insertRow',{
                index : num,
                row : data
            });
            num++;
           }

页面修改:

function updateAssets(){
            var id = $('#tb_assets').bootstrapTable('getSelections');//获得表格所有数据,结果是数组
             $('#tb_assets').bootstrapTable('updateByUniqueId',{
                id : id[0].ID,
                row : {
                    assetsType : $('#assetsType').val(),
                    assetsAmt : $('#assetsAmt').val(),
                    coefficient : $('#coefficient').val(),
                    valueAmt : $('#valueAmt').val()
                }
            });
            $('#myModal').modal('hide');
        }

页面数据的删除:

function del_(){
            var ids = $.map($('#tb_assets').bootstrapTable('getSelections'),function(row){
                return row.ID;
            });
            
            $('#tb_assets').bootstrapTable('remove',{
                field : 'ID',
                values : ids
            });
        }

增加和修改的模态框 代码太多我没有写出来,大家根据自己需要去写。

对于前端把数据存入表格后,获取表格中所有数据,然后发送ajax请求道后台获取数据,在进行批量插入

ajax:


这是我的提交到后台的方法:

 function submitAll(){
             var allObject = $('#tb_assets').bootstrapTable('getData'); //获取表格中的数据
             var data = JSON.stringify(allObject)   //把object转化为json
             jQuery.ajax({
                type : "POST",
                contenType : "application/json; charset=utf-8",
                dataType : "JSON",
                url : "../../assets/insert",
                data : {mydata:data},      //后台getparameter("mydata")获取Data里面的数据
                success : function(data){
                    alert("success")
                },error : function(error){
                    alert("err")
                },
                async : false
            })
            $("#tb_assets").bootstrapTable('refresh');
          }

后台java接收数据:

String assetsdata = request.getParameter("mydata");

对于mybatis 批量插入的 后面再写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值