diff --git a/js/dataTables.cellEdit.js b/js/dataTables.cellEdit.js index 974810c..378aa8d 100644 --- a/js/dataTables.cellEdit.js +++ b/js/dataTables.cellEdit.js @@ -101,26 +101,28 @@ jQuery.fn.dataTable.Api.register('MakeCellsEditable()', function (settings) { if (table != null) { // On cell click $(table.body()).on('click', 'td', function () { + // CHECK IF TABLE IS EMPTY + if (!$(this).hasClass('dataTables_empty')) { + var currentColumnIndex = table.cell(this).index().column; - var currentColumnIndex = table.cell(this).index().column; + // DETERMINE WHAT COLUMNS CAN BE EDITED + if ((settings.columns && settings.columns.indexOf(currentColumnIndex) > -1) || (!settings.columns)) { + var row = table.row($(this).parents('tr')); + editableCellsRow = row; - // DETERMINE WHAT COLUMNS CAN BE EDITED - if ((settings.columns && settings.columns.indexOf(currentColumnIndex) > -1) || (!settings.columns)) { - var row = table.row($(this).parents('tr')); - editableCellsRow = row; + var cell = table.cell(this).node(); + var oldValue = table.cell(this).data(); + // Sanitize value + oldValue = sanitizeCellValue(oldValue); - var cell = table.cell(this).node(); - var oldValue = table.cell(this).data(); - // Sanitize value - oldValue = sanitizeCellValue(oldValue); - - // Show input - if (!$(cell).find('input').length && !$(cell).find('select').length && !$(cell).find('textarea').length) { - // Input CSS - var input = getInputHtml(currentColumnIndex, settings, oldValue); - $(cell).html(input.html); - if (input.focus) { - $('#ejbeatycelledit').focus(); + // Show input + if (!$(cell).find('input').length && !$(cell).find('select').length && !$(cell).find('textarea').length) { + // Input CSS + var input = getInputHtml(currentColumnIndex, settings, oldValue); + $(cell).html(input.html); + if (input.focus) { + $('#ejbeatycelledit').focus(); + } } } } @@ -219,9 +221,12 @@ function getInputHtml(currentColumnIndex, settings, oldValue) { case "textarea-confirm": input.html = startWrapperHtml + "Confirm Cancel" + endWrapperHtml; break; - case "number-confirm" : - input.html = startWrapperHtml + " Confirm Cancel" + endWrapperHtml; - break; + case "number": + input.html = startWrapperHtml + "" + endWrapperHtml; + break; + case "number-confirm" : + input.html = startWrapperHtml + " Confirm Cancel" + endWrapperHtml; + break; default: // text input input.html = startWrapperHtml + "" + endWrapperHtml; break;