1、列中对象事件: 如隐藏栏,要获取每一行的点击事件,直接绑定图片的click会没有效果,因为在table里面把所有的事件都给off掉了,对于这种事件,只能引发onClickCell,不会传播到图片上去。解决这个问题有三个方法:
(1)要使用图片的click事件,可以在onPostBody事件里加上绑定参数,这样每次绘制完表格,就会执行这个绑定,在table的off之后,就可以启用图片的click事件了:
- onPostBody:function(){
- $("td").undelegate('.isVisible');
- $("td").delegate('.isVisible',"click",function(){
- if( $(this).find('i').hasClass('fa-eye')){
- var t = $(this).attr('data-rowId');
- alert( t);
- }else{
- alert( 'is invisible');
- }
- });
- }
- onClickCell: function( field, value, row, element) {
- if( field == 'thumb'){
- $("#showMessage").html('点中thumb,'+field);
- }else if ( field == 'check' ){
- var out = element.find('input');
- var is_check=out.is(':checked');
-
- setCheck( is_check, out.attr('data-index'));
- }else{
- $("#showMessage").html('点中其他,'+ field);
- }
- }
(3)第三种方法,就是利用
2、全选删除按钮的代码:
其中selections是一个全局数组变量,表示选中的id, getSelectedId是另一个函数,返回值为选中的id数组,注意用了jquery的map函数。
- cl_table.on('check.bs.table uncheck.bs.table ' +
- 'check-all.bs.table uncheck-all.bs.table', function () {
- selections = getSelectedId();
- $("#remove").prop('disabled', !selections.length);
- $("#move").prop('disabled', !selections.length);
- });
- $("#remove").click(function () {
- if (!confirm("确认要删除吗?")) { return; }
- cl_table.bootstrapTable('remove', { field: 'id', values: selections });
- $("#remove").prop('disabled', true);
- });
function getSelectedId() {
return $.map(cl_table.bootstrapTable('getSelections'), function (row) {
return row.id
});
}
3、