我有一个简单的数据库,其中我使用jeditable编辑了一个列(第4行),类似于datatables.net上的示例:
oTable.$('td:eq(4)').editable(function(value, settings) {
var valueOld = oTable.fnGetData(this);
if(valueOld != value) {
alert("changed");
}
else {
alert ("unchanged");
}
return(value);
},
{
type : 'textarea',
submit:'OK'
});
我也希望能够通过点击它来选择一行(再次按照datatables.net上的示例):
$('#example tr').click( function() {
$(this).toggleClass('row_selected');
});
但是,当用户单击该行的第4列时,选择该行是没有意义的,因为该单元格是可编辑的。单击此可编辑列时如何禁用行选择?
我没有使用TableTools。
答案 0 :(得分:0)
您可以检查在单击处理函数中实际单击的元素,以确保它不是第4列。
$("#example tr").click( function(event) {
var target = $(event.target);
if(!target.is(":nth-of-type(4)") {
$(this).toggleClass('row_selected');
}
}
答案 1 :(得分:0)
虽然旧版本普遍存在时已经提出并回答了这个问题,但对于使用当前版本的人来说,这很有效:
select: {
style: 'os', //default but you have to specify it, no idea why
selector: 'tr:not(.no-select) td'
}
然后通过在其上添加no-select
类来管理哪些行无法选择。
通过https://datatables.net/forums/discussion/30597/prevent-row-selection
旁注:不知道样式重新定义是否仍然存在问题。您可以尝试w / o并查看轮子是否脱落。