接着研究bootstrap-table... ...
这一篇研究bootstrap-table的事件及回调函数
先上一个demo
HTML
<div class="alert alert-danger" id="eventInfo"></div> <table id="goods" data-pagination="true" data-search="true" data-show-refresh="true" data-show-toggle="true" data-show-columns="true"> <thead> <tr> <th data-field="state" data-checkbox="true"></th> <th data-sortable="true" data-field="goodsName">商品名称</th> <th data-sortable="true" data-field="price">价格</th> <th data-field="date">日期</th> </tr> </thead> </table>
js
$(function(){ /*初始化表格*/ $("#goods").bootstrapTable({ data: data }); /*加载事件*/ $("#goods") .on('click-row.bs.table', function (e, row, ele,field) { $("#eventInfo").text('点击行事件 当前商品名:'+ row.goodsName + ',价格:' + row.price + ',效期:' + row.date + '当前点击单元格field值为:' + field); }) .on('dbl-click-row.bs.table', function (e, row, ele,field) { $("#eventInfo").text('双击行事件'); }) .on('check.bs.table', function (e, row,ele) { $("#eventInfo").text('checkbox选中事件'); }) .on('uncheck.bs.table', function (e, row,ele) { $("#eventInfo").text('checkbox取消选中事件'); }) .on('sort.bs.table', function (e, field, order) { var o; switch(order){ case "desc": o = "降序"; break; case "asc": o = "升序"; break; } $("#eventInfo").text('排序事件 当前' + name + '列,以' + o + "排列"); }) .on('check-all.bs.table', function (e,dataArr) { $("#eventInfo").text('全选事件'); }) .on('uncheck-all.bs.table', function (e,dataArr) { $("#eventInfo").text('取消全选事件'); }) .on('load-success.bs.table', function (e, data) { $("#eventInfo").text('加载成功事件'); }) .on('load-error.bs.table', function (e, status) { $("#eventInfo").text('加载错误事件'); }) .on('column-switch.bs.table', function (e, field, checked) { var colName; switch(field){ case "goodsName": colName = "商品名称"; break; case "price": colName = "价格"; break; case "date": colName = "日期"; break; } if(checked){ $("#eventInfo").text('筛选列事件 ' + colName + '列显示'); }else{ $("#eventInfo").text('筛选列事件 ' + colName + '列隐藏'); } }) .on('page-change.bs.table', function (e, number, size) { $("#eventInfo").text('切换页事件 当前页数:第' + number + "页,每页显示数量" + size + "条"); }) .on('search.bs.table', function (e, text) { $("#eventInfo").text('搜索事件'); }); });
demo数据以json加载数据自己写... ... ...
分析事件及回调函数
bootstrap-table事件基本以on绑定,bootstrap-table的事件都有.bs.table后缀 bs即bootstrap 显然.bs.table是申明boostrap-table。
click-row:行点击事件,callback获取4个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象 , field 当前单元格的field值。(row是数据对象,ele是DOM对象)
dbl-click-row:行双击事件,callback获取4个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象 , field 当前单元格的field值。(row是数据对象,ele是DOM对象)
check:单个checkbox选中事件,callback获取3个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象。(row是数据对象,ele是DOM对象)
uncheck:单个checkbox取消选中事件,callback获取3个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象。(row是数据对象,ele是DOM对象)
check-all:全选checkbox事件,callback获取2个参数 :e 事件对象 ,dataArr 选中行数据对象集合(dataArr的对象是数据对象)
uncheck-all:全选checkbox取消事件,callback获取2个参数 :e 事件对象 ,dataArr 选中行数据对象集合(dataArr的对象是数据对象)
sort:列排序事件,callback获取3个参数 : e 事件对象 , field 当前列的field值 , order 当前列是升序还是降序(enum值,desc , asc)。
load-success:数据加载成功事件,callback获取2个参数:e 事件对象 , data 成功加载的数据对象集合。(dataArr的对象是数据对象)
load-error:数据加载失败事件,callback获取2个参数:e 事件对象 , status 失败状态码。
column-switch:显示隐藏列选择事件,callback获取3个参数:e 事件对象 ,field 当前列的field值 ,checked 是否勾选(bool值)。
page-change:翻页事件,callback获取3个参数 : e 事件对象 ,number 当前页码(不是下标,是页码) ,size 当前页数据条数。
search:搜索事件,callback获取2个参数 : e 事件对象 ,text 搜索框输入内容。
这个demo包含几乎所有bootstrap-table的事件。