Jquery中的一些东西学习一下子,补充完善一下,毕竟有些时候没有使用到这个方式很有用,在使用bootstrap table的时候,选择当前已经选择的节点的事件中的ID的值 当前rows中有很多的数据,但是我只需要id这一个值,这个时候进行操作就非常的简单了。

$.map(data,function(item,index){return XXX})

使用的总结:

把一个数组,按照新的方式进行组装返回,和原来的数组不一样。

遍历data数组中的每个元素,并按照return中的计算方式 形成一个新的元素,放入返回的数组中

var b = $.map( [55,1,2], function( item,index )

{

return {

"label": item,

"value": index

}

});

alert(b[0].label +" "+ b[0].value);

输出为 55 0

2.我的后台呢,是使用SpringMVC进行写的,期间呢也是遇到了很多的问题 ,进行分页处理的时候使用了离线查询,但是呢,我使用的是execute()这个方法,传入的session为代理类的数据,不能再下面这个方法中进行转换导致错误了,我还百度了很久,最后才发现是这个问题导致的

/**

* Get an executable instance of Criteria,

* to actually run the query.

*/

public Criteria getExecutableCriteria(Session session) {

impl.setSession( ( SessionImplementor ) session );

return impl;

}

return (PageBean) getHibernateTemplate().executeWithNativeSession(new HibernateCallback() {

public Object doInHibernate(Session session) throws HibernateException {

Criteria criteria = detachedCriteria.getExecutableCriteria(session);

............................

}

后台呢,我返回的数据和格式不是按照BootStrap中的格式有点差别吧,反正就是不一样

{

"success": true,

"message": null,

"data": {

"pageSize": 15,

"rows": [

{

"userName": "333",

"userType": 333,

"password": "333",

"id": 11,

"indexcode": "333"

},

{

"userName": "3",

"userType": 333,

"password": "333",

"id": 5,

"indexcode": "33333"

}

.......

],

"total": 17,

"totalPage": 2,

"page": 0,

"hasPreviousPage": true,

"hasNextPage": true,

"lastPage": false,

"firstPage": false

}

}

主要是这里我是用了统一的返回接口 ActionResult,这样比较方便书写格式,统一后端

**

* Created by JetWang on 2016/10/1.

*/

public class ActionResult {

private boolean success;

private String message;

private Object data;

public ActionResult(){

}

public ActionResult(boolean success){

this(success, null, null);

}

............

}

来看看前端的效果吧

前端的页面

//什么公用的bootstrapt ,JQuery啊之类的引用放进去处理了

//这里就是容器中放置table的

data-url="/cms/UserInfo/userInfoPage">//使用的路径,后台请求的URL

比较重要的JS代码的说明

jQuery(document).ready(function() {

//这里你可以使用各种法师,也可以使用seajs前端模块化工具

下面放置我们的js代码就好了

});

下面的配置文件和一些事件的重写呢,你可以查看文档,或者自己去看看你源码

这里你可以进行重写哦~~ ,extentd进行重新的覆盖!

BootstrapTable.DEFAULTS = {

classes: 'table table-hover',

locale: undefined,

height: undefined,

undefinedText: '-',

sortName: undefined,

sortOrder: 'asc',

sortStable: false,

striped: false,

columns: [[]],

data: [],

dataField: 'rows',

method: 'get',

url: undefined,

ajax: undefined,

cache: true,

contentType: 'application/json;charset=UTF-8',//这里我就加了个utf-8

dataType: 'json',

ajaxOptions: {},

queryParams: function (params) {//这个是设置查询时候的参数,我直接在源码中修改过,不喜欢offetset 我后台用的 是pageNo. 这样处理就比较的满足我的要求,其实也可以在后台改,麻烦!

return params;

},

queryParamsType: 'limit', // undefined (这里是根据不同的参数,选择不同的查询的条件)

responseHandler: function (res) {//这里我查看源码的,在ajax请求成功后,发放数据之前可以对返回的数据进行处理,返回什么部分的数据,比如我的就需要进行整改的!

return res;

},

pagination: false,

onlyInfoPagination: false,

sidePagination: 'client', // client or server

totalRows: 0, // server side need to set

pageNumber: 1,

pageSize: 10,

pageList: [10, 25, 50, 100],

paginationHAlign: 'right', //right, left

paginationVAlign: 'bottom', //bottom, top, both

paginationDetailHAlign: 'left', //right, left

paginationPreText: '‹',

paginationNextText: '›',

search: false,

searchOnEnterKey: false,

strictSearch: false,

searchAlign: 'right',

selectItemName: 'btSelectItem',

showHeader: true,

showFooter: false,

showColumns: false,

showPaginationSwitch: false,//展示页数的选择?

showRefresh: false,

showToggle: false,

buttonsAlign: 'right',

smartDisplay: true,

escape: false,

minimumCountColumns: 1,

idField: undefined,

uniqueId: undefined,

cardView: false,

detailView: false,

detailFormatter: function (index, row) {

return '';

},

trimOnSearch: true,

clickToSelect: false,

singleSelect: false,

toolbar: undefined,

toolbarAlign: 'left',

checkboxHeader: true,

sortable: true,

silentSort: true,

maintainSelected: false,

searchTimeOut: 500,

searchText: '',

iconSize: undefined,

buttonsClass: 'default',

iconsPrefix: 'glyphicon', // glyphicon of fa (font awesome)

icons: {

paginationSwitchDown: 'glyphicon-collapse-down icon-chevron-down',

paginationSwitchUp: 'glyphicon-collapse-up icon-chevron-up',

refresh: 'glyphicon-refresh icon-refresh',

toggle: 'glyphicon-list-alt icon-list-alt',

columns: 'glyphicon-th icon-th',

detailOpen: 'glyphicon-plus icon-plus',

detailClose: 'glyphicon-minus icon-minus'

},

customSearch: $.noop,

customSort: $.noop,

rowStyle: function (row, index) {

return {};

},

rowAttributes: function (row, index) {

return {};

},

footerStyle: function (row, index) {

return {};

},

onAll: function (name, args) {

return false;

},

onClickCell: function (field, value, row, $element) {

return false;

},

onDblClickCell: function (field, value, row, $element) {

return false;

},

onClickRow: function (item, $element) {

return false;

},

onDblClickRow: function (item, $element) {

return false;

},

onSort: function (name, order) {

return false;

},

onCheck: function (row) {

return false;

},

onUncheck: function (row) {

return false;

},

onCheckAll: function (rows) {

return false;

},

onUncheckAll: function (rows) {

return false;

},

onCheckSome: function (rows) {

return false;

},

onUncheckSome: function (rows) {

return false;

},

onLoadSuccess: function (data) {

return false;

},

onLoadError: function (status) {

return false;

},

onColumnSwitch: function (field, checked) {

return false;

},

onPageChange: function (number, size) {

return false;

},

onSearch: function (text) {

return false;

},

onToggle: function (cardView) {

return false;

},

onPreBody: function (data) {

return false;

},

onPostBody: function () {

return false;

},

onPostHeader: function () {

return false;

},

onExpandRow: function (index, row, $detail) {

return false;

},

onCollapseRow: function (index, row) {

return false;

},

onRefreshOptions: function (options) {

return false;

},

onRefresh: function (params) {

return false;

},

onResetView: function () {

return false;

}

};

看看上面的自己也基本上晓得怎么去,书写了!其实之前我根本不敢这么玩,只不过之前实习过程中导师教过我怎么去玩,所以我才敢,我相信,我可以好好的 玩好这些东西的!

function initTable() {

$table.bootstrapTable({

striped: true, //表格显示条纹

pagination: true, //启动分页

pageSize: 15, //每页显示的记录数

pageNumber:1, //当前第几页

pageList: [10, 15, 20, 25], //记录数可选列表

search: false, //是否启用查询

showColumns: true, //显示下拉框勾选要显示的列

showRefresh: true, //显示刷新按钮

sidePagination: "server", //表示服务端请求

//设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder

//设置为limit可以获取limit, offset, search, sort, order

responseHandler:function(res){

//远程数据加载之前,处理程序响应数据格式,对象包含的参数: 我们可以对返回的数据格式进行处理

//在ajax后我们可以在这里进行一些事件的处理

return res.data;

},

queryParamsType : "undefined",

queryParams: function queryParams(params) { //设置查询参数

var param = {

//这里是在ajax发送请求的时候设置一些参数 params有什么东西,自己看看源码就知道了

pageNo: params.pageNumber,

pageSize: params.pageSize

};

return param;

},

onLoadSuccess: function(data){ //加载成功时执行

alert("加载成功"+data);

},

onLoadError: function(){ //加载失败时执行

layer.msg("加载数据失败", {time : 1500, icon : 2});

},

height: getHeight(),

columns: [

{

field: 'state',

checkbox: true,

align: 'center',

valign: 'middle'

}, {

title: 'ID',

field: 'id',

align: 'center',

valign: 'middle'

},

{

field: 'userName',

title: 'UserName',

sortable: true,

footerFormatter: totalNameFormatter,

align: 'center'

}, {

field: 'userType',

title: 'UserType',

sortable: true,

align: 'center'

},

{

field: 'password',

title: 'UserPass',

sortable: true,

align: 'center'

},{

field: 'indexcode',

title: 'Indexcode',

sortable: true,

align: 'center'

},{

field: 'operate',

title: 'Item Operate',

align: 'center',

events: operateEvents,

formatter: operateFormatter

}

]

});

上面的 footerFormatter 和 formatter 都是对于当前列的显示进行处理的事件,文档中如下

formatter:

The context (this) is the column Object. The cell formatter function, take three parameters: value: the field value. row: the row record data. index: the row index.

footerFormatter :

The context (this) is the column Object. The function, take one parameter:

data: Array of all the data rows. the function should return a string with the text to show in the footer cell.

都是对于当前列进行处理显示

如下就是增加了两个按钮在一个单元格中

function operateFormatter(value, row, index) {

return [

'',

'',

' ',

'',

'',

''

].join('');

}

也可以在这里就增加事件的处理

title: '操作',

field: 'id',

align: 'center',

formatter:function(value,row,index){

var e = '编辑 ';

var d = '删除 ';

return e+d;

也可以这样处理事件的

}

}--%>

官方中文档说的处理事件可以像下面这里处理

The cell events listener when you use formatter function, take four parameters: event: the jQuery event. value: the field value. row: the row record data. index: the row index.

Example code:

{

field: 'operate',

title: 'Item Operate',

align: 'center',

events: operateEvents,

formatter: operateFormatter

}

function operateFormatter(value, row, index) {

return [

'',

'',

' ',

'',

'',

''

].join('');

}

window.operateEvents = {

'click .like': function (e, value, row, index) {

alert('You click like action, row: ' + JSON.stringify(row));

},

'click .remove': function (e, value, row, index) {

$table.bootstrapTable('remove', {

field: 'id',

values: [row.id]

});

}

};

处理系统中存在的事件的处理,文档中有说

$('#table').bootstrapTable({

onEventName: function (arg1, arg2, ...) {

// ...

}

});

$('#table').on('event-name.bs.table', function (e, arg1, arg2, ...) {

// ...

});

这个名字文档中很多!

onAll all.bs.table

name, args

Fires when all events trigger, the parameters contain:

name: the event name,

args: the event data.

处理一些方法,比如当前选择了多少行,全选等等

The calling method syntax: $('#table').bootstrapTable('method', parameter);

1 当前选择选的框框的id

getSelections none Return selected rows, when no record selected, an empty array will return.

2.全选

getAllSelections none Return all selected rows contain search or filter, when no record selected, an empty array will return.

$table.on('all.bs.table', function (e, name, args) {

console.log(name, args);

});

3.删除 前台的数据,不需要从后台重新加载

remove params Remove data from table, the params contains two properties:

field: the field name of remove rows.

values: the array of values for rows which should be removed.

.....很多很多的东西!

一个删除的按钮,删除所有的选择的事件!是不是很好呢!

function getIdSelections() {

return $.map($table.bootstrapTable('getSelections'), function (row) {

return row.id

});

}

$remove.click(function () {

var ids = getIdSelections();

$table.bootstrapTable('remove', {

field: 'id',

values: ids

});

$remove.prop('disabled', true);

});

以上所述是小编给大家介绍的Bootstrap Table的使用总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

bootstrap-table重载_Bootstrap Table的使用总结相关推荐

  1. bootstraptable 加载完成_bootstrap table onLoadSuccess加载服务端数据成功事件

    bootstrap table onLoadSuccess加载服务端数据成功事件 bootstrap table onLoadSuccess加载服务端数据成功的事件,该事件的作用是什么呢?服务端返回自 ...

  2. ztree 点击重载 layui table

    ztree 点击重载 layui table <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  3. mysql create table()_MySQL Create Table创建表

    表的创建命令需要: 表的名称 字段名称 定义每个字段(类型.长度等) 语法 下面是通用的SQL语法用来创建MySQL表: CREATE TABLE table_name (column_name co ...

  4. R语言使用table函数计算单分类变量的频率表(frequency table)、使用prop.table函数将table函数计算获得的频率表转化为比率表、返回单分类变量每一个类别的比率、或者百分比

    R语言使用table函数计算单分类变量的频率表(frequency table).使用prop.table函数将table函数计算获得的频率表转化为比率表.返回单分类变量每一个类别的比率.或者百分比. ...

  5. matlab如何创建table,table,matlab,中table数据类型,创建,调用,访问

    MATLAB table数据结构 目录: ?关于作者 ?table简介 o为什么需要table数据结构 o通过导入数据构造table对象 o调用table构造函数来构造table对象 o通过转换函数构 ...

  6. mysql create很多table,SQL CREATE TABLE 语句

    原标题:SQL CREATE TABLE 语句 SQL CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表. 表由行和列组成,每个表都必须有个表名. SQL CREAT ...

  7. antd 下拉框怎么联动_Antd的Table组件嵌套Table以及选择框联动操作

    一.需求 在使用Table组件嵌套Table时,父子Table的选择框需要联动,即父Table选中,该行下的子Table需要全选中,某一个子Table全部选中,则该子Table所在的父Table那一行 ...

  8. Hive Managed Table与 External Table区别

    在Hive上有两种类型的表,一种是Managed Table,另一种是External Table. 它俩的 主要区别在于 :当我们drop表时,Managed Table会同时删去data和meta ...

  9. table 表格,table表格细边框设置,table表格禁止内容换行设置,table表格斑马线设置

    table 表格,细边框设置,禁止内容换行设置,斑马线设置 1.没有设置时的样式 2.设置后的样式 3.html代码 <div class="cp-table">< ...

  10. java 虚函数表_虚函数表(vtable/virtual table/virtual method table)

    本文只是拿 Java 代码做说明的例子,不代表Java的vtable是这样实现的 虚函数表,又称 virtual method table (VMT), virtual function table, ...

最新文章

  1. 炫酷大屏demo_可视化大屏动态效果
  2. centos7下kafka2.12-2.1.0的安装及使用
  3. 看动画学算法之:排序-归并排序
  4. 爬取豆瓣TOP250并将数据保存为txt文件和csv文件并存入MySQL数据库
  5. 祁飞机器人_转自祈飞:什么是智能机器人
  6. linux fdisk 权限不够,Linux 文件系统结构、磁盘的管理
  7. 上传项目到gitOsChina
  8. 使用javac编译时碰到的问题
  9. 【实物】端到端自动驾驶搭建教程(一)附完整资料
  10. 静态成员变量.xml
  11. Directx9下载安装
  12. 小米路由器3 SCUT校园网刷scut-padavan固件方法
  13. 两种方法分析每月工作日计算程序
  14. WIN10桌面文件夹图标变黑解决方法~
  15. 怎么绘制等高线计算机软件,绘制等高线(LanDTM)
  16. office word安装mathtype报错,找不到mathpage.WLL文件
  17. Vue之鼠标悬停显示页面加载时间
  18. RatingBar基本使用
  19. 命令行把java项目打成jar包
  20. 求两向量在0~360度之间的角度值及实际应用

热门文章

  1. Navicat 中文破解版
  2. 什么是IoT物联网平台,以及如何做平台选型
  3. 旅馆业等领域旅客入住身份核验解决方案
  4. js+html空间数据编码问题--以姓名为例(代码设涉及文件读取,文本数字提取,特别是文本x,y坐标的提取)
  5. laravel 下载图片跨域问题
  6. 高德地图api中的adcode城市编码
  7. iOS开发-dSYM文件
  8. MTK手机刷机以及刷镜像
  9. 中国科学院国家授时中心
  10. 实习商汤,校招华为,我的深度学习之路