Я не знаю точно, как вы запускаете встроенное издание. Я использую событие ondblClickRow
в jqGrid, а также искал способ восстановить строку, когда пользователь оставил элемент input
или select
( edit ).
Мне неудобно отслеживать последний выбранный элемент и проверять его при каждом нажатии на другие элементы. Итак, я думаю, что более удобный способ - присоединить триггер restoreRow
к событию blur
редактируемого в данный момент элемента input
или select
, например:
ondblClickRow: function(rowid, iRow, iCol, e) {
grid.jqGrid('editRow', rowid, true);
$("input, select", e.target).focus().blur(function() {
grid.jqGrid('restoreRow', rowid);
});
return;
}
Таким образом, строка восстанавливается всякий раз, когда пользователь покидает поле редактирования, не нажимая клавишу ввода.
Этот подход отлично работает для меня, надеюсь, он поможет и кому-то еще.