/** * 合并单元格 * @param data 原始数据(在服务端完成排序) * @param fieldName 合并属性名称 * @param colspan 合并列 * @param target 目标表格对象 */ function mergeCells(data, fieldName, colspan, target) { //声明一个map计算相同属性值在data对象出现的次数和 var sortMap = {}; for (var i = 0; i < data.length; i++) { for (var prop in data[i]) { if (prop == fieldName) { var key = data[i][prop] if (sortMap.hasOwnProperty(key)) { sortMap[key] = sortMap[key] * 1 + 1; } else { sortMap[key] = 1; } break; } } } //for(var prop in sortMap){ //console.log(prop,sortMap[prop]) //} var index = 0; for (var prop in sortMap) { var count = sortMap[prop] * 1; $(target).bootstrapTable('mergeCells', { index: index, field: fieldName, colspan: colspan, rowspan: count }); index += count; } } $('#d_product').bootstrapTable({ url: 'data/product.json', search: true, strictSearch: false, //ture,精确查询 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true sortable: true, //是否启用排序 sortStable: true, //pagination: true, //启用分页 //showPaginationSwitch: true, //是否显示 启用分页按钮 showColumns: true, //是否显示 选择列隐藏按钮 showRefresh: true, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 //height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 showToggle: true, //是否显示详细视图和列表视图的切换按钮 clickToSelect: true, //是否启用点击选中行 onLoadSuccess: function(data) { var data = $('#d_product').bootstrapTable('getData', true); //合并单元格 mergeCells(data, "d_class", 1, $('#d_product')); //合并表格#d_product中class项重复的行 $("#d_product td").css("vertical-align", "middle"); }, columns: [{ field: 'd_class', title: '类别', sortable: true, align: 'center', vertical: 'middle', //vertical-align: middle; }, { title: '序号', field: '', align: 'center', vertical: 'middle', searchable:false, //不对此列进行搜索 formatter: function(value, row, index) { return index + 1; } }, { field: 'd_name', title: '名称', sortable: true, formatter: function(value, row, index) { //看一下回调中第几个是value return value.toString(); } }, { field: 'd_abbr', title: '简写', sortable: true, }, { field: 'd_ename', title: '英文名', sortable: true, }, { field: 'd_spec', title: '规格', sortable: true, }, ] }); $('#d_product').on('click-row.bs.table', function(e, row, $element) { $('.success').removeClass('success'); //去除之前选中的行的,选中样式 $element.addClass('success'); //添加当前选中的 success样式用于区别 //$element.css("background-color","yellow"); }); //table_product2 $('#d_product2').bootstrapTable({ url: 'data/product2.json', search: true, strictSearch: false, //ture,精确查询 striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true sortable: true, //是否启用排序 sortStable: true, //pagination: true, //启用分页 //showPaginationSwitch: true, //是否显示 启用分页按钮 showColumns: true, //是否显示 选择列隐藏按钮 showRefresh: true, //是否显示刷新按钮 minimumCountColumns: 2, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 //height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 showToggle: true, //是否显示详细视图和列表视图的切换按钮 clickToSelect: true, //是否启用点击选中行 onLoadSuccess: function(data) { var data = $('#d_product2').bootstrapTable('getData', true); //合并单元格 mergeCells(data, "d_class2", 1, $('#d_product2')); //合并表格#d_product中class项重复的行 $("#d_product2 td").css("vertical-align", "middle"); }, columns: [{ field: 'd_class2', title: '类别', sortable: 'true', align: 'center', Valing: 'middle', }, { title: '序号', field: '', align: 'center', searchable:false, formatter: function(value, row, index) { return index + 1; } }, { field: 'd_name2', title: '名称', sortable: 'true', formatter: function(value, row, index) { //看一下回调中第几个是value return value.toString(); } }, { field: 'd_abbr2', title: '简写', sortable: 'true', }, { field: 'd_ename2', title: '英文名', sortable: 'true', }, { field: 'd_spec2', title: '规格', sortable: 'true', }, ] }); $('#d_product2').on('click-row.bs.table', function(e, row, $element) { $('.success').removeClass('success'); //去除之前选中的行的,选中样式 $element.addClass('success'); //添加当前选中的 success样式用于区别 //$element.css("background-color","yellow"); }); $(document).ready(function() { $.getUrlParam = function(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }; var d_s = $.getUrlParam('s'); //console.log("d_s") if (d_s) { $(".form-control").val(d_s); $(".form-control:last").focus(); $(".form-control:first").focus(); $(".form-control:first").blur(); $(".fixed-table-toolbar").append(''); } });