bootstrap-table的onClickRow事件(点击行改变行的背景颜色和其他属性)

bootstrap-table的onClickRow事件(点击行改变行的背景颜色和其他属性)需求 在 bootstrap table 的表格中 点击某行改变该行的背景颜色和其他的属性 官方文档文档中分了 option 事件和 jQuery 事件 在这里我先用 option 事件完成需求 然后再用 jQuery 事件实现一次 之所以还要用 jQuery 事件实现一下是因为 jQuery 实现的过程有个注意点 在此记录一下 第一部分 option 事件 companyTable boo

 需求:在bootstrap-table的表格中,点击某行改变该行的背景颜色和其他的属性。

官方文档

bootstrap-table的onClickRow事件(点击行改变行的背景颜色和其他属性)

 文档中分了option事件和jQuery事件,在这里我先用option事件完成需求,然后再用jQuery事件实现一次。之所以还要用jQuery事件实现一下是因为jQuery实现的过程有个注意点,在此记录一下。

第一部分:option事件

$("#companyTable").bootstrapTable({ url:'/getRow/getData', //获取表格数据 //使用post传参,去掉后无法成功 contentType:'application/x-www-form-urlencoded; charset=UTF-8', method: "get", toolbar:"#companyToolbar", cache: false, //禁用ajax缓存 striped: true, //表格显示条纹 pagination: true, //在底部显示分页组件 pageList: [10, 20], //设置页面可以显示的数据条数 pageSize: 10, // 页面数据条数 pageNumber: 1, // 首页页码 sidePagination: 'server', // 设置为服务器端分页 showColumns:true, //是否显示内容列下拉框 showToggle:false, //切换详细视图和列表视图 singleSelect:true, //单选checkbox onClickRow:function (row,$element) { $('.info').removeClass('info'); $($element).addClass('info'); }, queryParamsType: '', queryParams:function (params){ //请求服务器数据时,添加额外参数 return { pageSize:params.pageSize, // 每页要显示的数据条数 pageNum:params.pageNumber, // 页码 companyName:$("#companyName").val() } }, idField:'companyCode', //指定主键列 columns:[{ field:'ofplate', //返回json中的name title:'所属板块', //表格表头显示文字 halign:'center', //表头居中 valign: 'middle' // 上下居中 },{ field:'companyName', //返回json中的name title:'企业名称', //表格表头显示文字 halign:'center', //align:'center', //左右居中 valign: 'middle' // 上下居中 } ] });

实现效果:

bootstrap-table的onClickRow事件(点击行改变行的背景颜色和其他属性)

.info是bootstrap自带的class。下面是源码,可以修改。

bootstrap-table的onClickRow事件(点击行改变行的背景颜色和其他属性)

如果你想自定义点击的后class。只需要自己定义一个.changColor

.changeColor的实现效果

bootstrap-table的onClickRow事件(点击行改变行的背景颜色和其他属性)

第二部分:jQuery事件

bootstrap-table的onClickRow事件(点击行改变行的背景颜色和其他属性)

这是我刚开始的写法,一直不能实现效果。后来debugger发现用jQuery方法时row和onClickRow的row不同,$element也不同。后来我百度到了解决方法。

$('#companyTable').on('click-row.bs.table', function (e,row,$element) { $('.changeColor').removeClass('changeColor'); $($element).addClass('changeColor'); });

function(e,row,$element){

}

官网中并没有说需要加上e,这里面的e有什么作用,我还没弄太清楚。

2019-08-03:更

发现有些网站抄袭我的博客,且不注明出处和转载。我将保留追究其法律责任!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177909.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午6:28
下一篇 2026年3月26日 下午6:28


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号