Я использую плагин jQuery Datatables для таблицы smal (12 строк). Некоторые поля <input type="text" ...
позволяют редактировать. Когда поле ввода теряет фокус, мне нужно проверить его значение и, возможно, изменить значение поля. Мне не удалось получить измененные значения входных полей, которые будут распознаны DataTables без последующего выпуска .draw()
, но это приведет к тому, что таблица переместится в верхнюю часть таблицы.
Есть ли способ сохранить текущую позицию прокрутки после выпуска .draw()?
$('#mytable').on('blur', 'input', function (e) {
var inputFieldId = this.id;
var inputFieldVal = $(this).val();
{ ... perform validation of field value ... }
$('#mytable').DataTable().rows().invalidate().draw();
});
ИЗМЕНИТЬ
Я видел, как кто-то пытался сделать то же самое, что и я, и они указали, что для них работал следующий код. Это похоже на очень простой способ выполнить то, что мне нужно, но я всегда получаю scrollTop = 0. Кто-нибудь видит, как я могу получить индекс строки текущей выбранной строки?
var scrollPos = $(".dataTables_scrollBody").scrollTop();
$('#mytable').DataTable().rows().invalidate().draw(false);
$(".dataTables_scrollBody").scrollTop(scrollPos);