2014-01-15 61 views
0

我有一个简单的确定年代中,我一直在使用jeditable同样对datatables.net的例子进行一列(第4期)编辑:数据表:如何禁用行选择为可编辑的列

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

您可以检查单击处理函数中实际单击的元素,以确保它不是第4列。

$("#example tr").click(function(event) { 
    var target = $(event.target); 
    if(!target.is(":nth-of-type(4)") { 
     $(this).toggleClass('row_selected'); 
    } 
} 
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

边注:不知道风格重新定义是否仍是一个问题。您可以尝试不带电,看看轮子是否脱落。

相关问题