bootstrapTable新增行,删除行

 

bootstrapTable表
 $('#exampleTable').bootstrapTable(
            {
                method: 'post', // 服务器数据的请求方式 get or post
                url: prefix + "/list", // 服务器数据的加载地址
                //	showRefresh : true,
                //	showToggle : true,
                //	showColumns : true,
                iconSize: 'outline',
                toolbar: '#exampleToolbar',
                striped: true, // 设置为true会有隔行变色效果
                dataType: "json", // 服务器返回的数据类型
                pagination: false, // 设置为true会在底部显示分页条
                uniqueId: 'index', //将index列设为唯一索引
                // queryParamsType : "limit",
                // //设置为limit则会发送符合RESTFull格式的参数
                singleSelect: false, // 设置为true将禁止多选
                 contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize: 200, // 如果设置了分页,每页数据条数
                pageNumber: 1, // 如果设置了分布,首页页码
                //search : true, // 是否显示搜索框
                showColumns: false, // 是否显示内容下拉框(选择显示的列)
                sidePagination: "server", // 设置在哪里进行分页,可选值为"client" 或者 "server"
                height:350,
                queryParams: function (params) {
                    return {
                        //说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对
                        limit: params.limit,
                        offset: params.offset,
                        nodeId:$("#nodeId").val(),
                        queryBtn: $("#queryBtn").val(),
                        thisNodeVal: parent.$("input[data-attribute='"+$("#dataAtt").val()+"']").val(),
                        name:$('#searchName').val(),//查询的值
                        typeModel:$("#typeModel").val() //判断是模型还是任务
                    };
                },
                // //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果
                // queryParamsType = 'limit' ,返回参数必须包含
                // limit, offset, search, sort, order 否则, 需要包含:
                // pageSize, pageNumber, searchText, sortName,
                // sortOrder.
                // 返回false将会终止请求
                columns: [
                    {
                        checkbox: true
                    },
                    {
                        field: 'index',
                        title: '序列',
                        formatter:function(value, row, index) {
                            return row.index = index+1; //返回行号
                        }
                    },

                    {
                        field: 'cloumId',
                        title: '物理位置'
                    },
                    {
                        field: 'description',
                        title: '名称',
                        formatter: function(value,row,index){
                            var  result ="<input id='"+index+"decription' data-placeholder='名称'" +
                                "class='form-control' "+(row.flag=='1'?'':'readonly')+"  value='"+(value==undefined?'':value)+"' onblur='getValues("+index+")'>";
                            return result
                        }
                    },
                    {
                        field: 'typeName',
                        title: '字段类型',
                        formatter: function(value,row,index){
                            var result="";
                            result+="<select id='"+index+"' data-placeholder='字段类型'" +
                                "class='form-control chosen-select' tabindex='2'  onchange='typeChange("+index+")'>";
                            for(var i=0;i<selectType.length;i++){
                                if(value==selectType[i]){
                                    result+="<option value='"+selectType[i]+"' selected = 'selected' >"+selectType[i]+"</option>";
                                }else{
                                    result+="<option value='"+selectType[i]+"'>"+selectType[i]+"</option>";
                                }
                            }
                            result+="</select>";
                            return result
                        }
                    },
                    {
                        field: 'operationType',
                        title: '运算类型',
                        formatter: function(value,row,index){
                            var result="";
                            result+="<select id='"+index+"operationType' data-placeholder='运算类型'" +
                                "class='form-control chosen-select' tabindex='2'  onchange='typeChange("+index+")'>";
                            for(var i=0;i<selectOperationType.length;i++){
                                if(value==selectOperationType[i].value){
                                    result+="<option value='"+selectOperationType[i].value+"' selected = 'selected' >"+selectOperationType[i].name+"</option>";
                                }else{
                                    result+="<option value='"+selectOperationType[i].value+"'>"+selectOperationType[i].name+"</option>";
                                }
                            }
                            result+="</select>";
                            return result
                        }
                    },
                    {
                        field: 'name',
                        title: '编码',
                        formatter: function(value,row,index){
                            var  result ="<input id='"+index+"name' data-placeholder='编码'" +
                                "class='form-control'  value='"+(value==undefined?'':value)+"' onblur='getValues("+index+")'>";
                            return result
                        }
                    },
                    {
                        field: 'nullable',
                        title: '允许为空',
                        formatter: function(value,row,index){
                            var result="";
                            result+="<select id='"+index+"nullable' data-placeholder='允许为空'" +
                                "class='form-control chosen-select' tabindex='2'  onchange='typeChange("+index+")'>";
                            if (value==null) {
                                value = "1";
                            }
                            for(var i=0;i<selectNullable.length;i++) {
                                if (value == selectNullable[i].value) {
                                    result += "<option value='"+selectNullable[i].value+"' selected = 'selected' >"+selectNullable[i].bieName+"</option>";
                                } else {
                                    result += "<option value='"+selectNullable[i].value+"'>"+selectNullable[i].bieName+"</option>";
                                }
                            }
                            result+="</select>";
                            return result
                        }
                    },

                    {
                        title: '操作',
                        field: 'ruleText',
                        align: 'center',
                        formatter: function (value, row, index) {
                            var val="<input id='"+index+"ruleText' data-placeholder='配置规则'  class='form-control' type='hidden' value='"+(value==undefined?'':value)+"'>";
                            var e = '<a class="btn btn-primary btn-sm " href="#" mce_href="#" title="配置规则" onclick="edit(\'' + $("#nodeId").val() + '\',\'' + index +"ruleText"+ '\' ,\'' +$("#typeModel").val()+ '\' )"><i class="fa fa-edit"></i></a> ';
                            return e+ val;
                        }
                    }
                    ]
            });

下拉框

function typeChange(index){
    var rows = $('#exampleTable').bootstrapTable('getData');
    $.each(rows, function (i, row) {
        if(row.index==(index+1)){
            row.typeName=$("#"+index).val();
            row.operationType=$("#"+index+"operationType").val();
            row.nullable=$("#"+index+"nullable").val();
            $('#exampleTable').bootstrapTable('updateRow',row);
            return false;
        }
    });
}

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

新增行

function addRow(){
    var row=
    {
        "cloumId":"",
        "description":"",
        "typeName":"",
        "operationType":"",
        "name":"",
        "remarks":"",
        "flag":"1",
        "ruleText":"",
        "nullable":"1"
    };
    //append  追加到最后一行
    //prepend  新增到第一行
    $('#exampleTable').bootstrapTable('append', row);
    //更新行数据
    $('#exampleTable').bootstrapTable('updateRow',row);
    //定位到最后一行
    $('#exampleTable').bootstrapTable('scrollTo', 'bottom');
}

效果:

选择多条删除:

function remove(){
    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
    });
    
}

 

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Bootstrap Table是一个强大的、基于Bootstrap框架开发的响应式表格插件,提供了丰富的特性和易用的API,用于快速地呈现数据集合。以下是Bootstrap Table的使用方法: 1. 引入必要的文件 在使用Bootstrap Table前,需要引入以下文件: ```html <!-- bootstrap样式文件 --> <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <!-- bootstrap table样式文件 --> <link rel="stylesheet" href="https://cdn.staticfile.org/bootstrap-table/1.15.4/bootstrap-table.min.css"> <!-- jquery文件 --> <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script> <!-- bootstrap js文件 --> <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> <!-- bootstrap table js文件 --> <script src="https://cdn.staticfile.org/bootstrap-table/1.15.4/bootstrap-table.min.js"></script> ``` 2. 创建HTML结构 在页面中创建一个table元素,并添加必要的属性: ```html <table id="myTable" data-toggle="table" data-url="data.json"></table> ``` 其中,id属性指定了表格的唯一标识符,data-toggle属性指定了表格的类型为Bootstrap Table,data-url属性指定了表格的数据来源。 3. 初始化表格 在JavaScript代码中,使用以下代码初始化表格: ```javascript $(function(){ $('#myTable').bootstrapTable(); }); ``` 这里使用了jQuery的文档就绪事件,在页面加载完成后执初始化操作。此时会根据data-url指定的地址异步加载数据,并自动生成表格。 4. 自定义表格 Bootstrap Table提供了丰富的配置选项,可以自定义表格的样式、特性和为。例如,可以通过以下代码自定义表格的列、排序和分页等: ```javascript $(function(){ $('#myTable').bootstrapTable({ columns: [{ field: 'name', title: '姓名' }, { field: 'age', title: '年龄', sortable: true }, { field: 'gender', title: '性别' }], sortable: true, pagination: true }); }); ``` 这里使用了columns选项指定了表格的列,每个列由一个field和一个title属性组成,分别指定了列的数据字段和标题。同时也可以通过sortable和pagination选项开启排序和分页功能。 以上就是Bootstrap Table表格的基本使用方法,更多高级特性和API请参考官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值