Я использую jqGrid с редактированием ячеек и средством выбора даты.Все работает хорошо, за исключением того, что из-за какой-то странной обработки событий существует риск потери пользовательских данных.Когда ячейка выбрана и ее дата установлена, текст помещается обратно в редактируемую ячейку, но он не передается обратно на сервер, если не происходит какая-либо навигация или когда нажата клавиша ввода с установленной датой.Это означает, что если пользователь просто вводит данные, и он не выполняет эти дополнительные действия (о которых нет обратной связи), отредактированное значение хранится в подвешенном состоянии.
Очевидное решение - использовать onClose onDatePicker.Это вызывается, но, похоже, нет способа получить данные, записанные на сервер.Я пытался использовать saveCell, но после записи данных текстовый редактор ячеек остается открытым, поэтому, если данные не могут быть записаны должным образом, создается впечатление, что все в порядке.Я также пробовал editCell, но, похоже, он бесконечно повторяется или создает какой-то цикл.Я также попытался сфальсифицировать keydown следующим образом:
colModel :[
...
{name:'date', index:'date', width:100, editable: true,
editoptions: {
size: 10, maxlength: 10,
dataInit: function(elem){
setTimeout(function(){
$(elem).datepicker({
onClose: function(dateText, inst) {
var e = jQuery.Event("keydown");
e.which = 13;
$(elem).trigger(e);
}
...
Я все еще справляюсь с jquery и jqgrid, поэтому любые советы будут очень кстати.