数据表:如何更改空格键上单元格的值?
datatables: how to change the value of a cell on spacebar?
我想更改数据表中某个单元格的值。这个想法是在聚焦单元格上按空格键时在预设值之间切换。但我不确定如何实施。
我正在按以下方式初始化 DataTable。
var table = $('#data-table').DataTable();
var keys = new $.fn.dataTable.KeyTable( table );
有人有建议吗?
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');
}
}
});
我想更改数据表中某个单元格的值。这个想法是在聚焦单元格上按空格键时在预设值之间切换。但我不确定如何实施。
我正在按以下方式初始化 DataTable。
var table = $('#data-table').DataTable();
var keys = new $.fn.dataTable.KeyTable( table );
有人有建议吗?
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');
}
}
});