如何解决带有行单击重定向的 Jquery 数据表复选框选择
我有一个带有数据表选择插件的 Jquery 数据表 - https://www.gyrocode.com/projects/jquery-datatables-checkboxes/。
我正在使用复选框来多选行,这是设置:
"select": {
'style': 'multi','selector': 'td:first-child' //only checkBox can select row
},
这很好用。只有当我单击复选框时,它才会选择该行。接下来我需要的是当我点击行的其余部分(除了复选框之外的任何其他地方)时,我需要根据点击的行转到一个特殊的 URL。我添加了这个:
$('#MyTable tbody').on('click','tr',function () {
console.log(table.row(this).data()["Id"]);
});
这也很有效,因为我可以获得所点击行的唯一 Id 值。
现在的问题是行点击胜过复选框选择。换句话说,即使我点击复选框,它仍然会重定向用户。我需要让复选框不成为行点击的一部分,我该怎么做?复选框是第一列,这是我的列定义的一部分:
"columnDefs": [
{
'targets': 0,'checkBoxes': {
'selectRow': true
}
},
我也尝试查看 tr hasClass('selected'),但是选择动作发生在点击动作之后,因此,一开始总是假的。
解决方法
我已经找到了答案:
$('#MyTable tbody').on('click','tr td:not(:nth-child(1))',function () {
console.log(table.row(this).data()["Id"]);
});
这将排除行点击事件中的第一列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。