我想更改数据表中单元格的值。我们的想法是在按下焦点单元格上的空格键时在预设值之间切换。但我不知道如何实现这一点。
我正在以下列方式初始化DataTable。
var table = $('#data-table').DataTable();
var keys = new $.fn.dataTable.KeyTable( table );
有人有建议吗?
答案 0 :(得分:1)
似乎KeyTables 2.0的文档尚未更新。我设法通过以下方式完成:
var table = $('#data-table').DataTable();
var keys = new $.fn.dataTable.KeyTable( table );
table.on( 'key', function ( e, datatable, key, cell, originalEvent ) {
if (key == 32) { #32 for spacebar
var currentStatus = cell.data();
switch(currentStatus) {
case 'p':
cell.data('f');
$(cell.node()).removeClass('status_p').addClass('status_f');
break;
case 'f':
cell.data('h');
$(cell.node()).removeClass('status_f').addClass('status_h');
break;
case 'h':
cell.data('p');
$(cell.node()).removeClass('status_h').addClass('status_p');
break;
default:
cell.data('p');
$(cell.node()).attr('class','').addClass('status_p');
}
}
});