jqgrid 内联编辑不适用于日期选择器列
jqgrid inline edit not working with datepicker column
我已经实现了 jqGrid,如下所示 link:-
http://www.guriddo.net/demo/guriddojs/integrations/inline_edit_controls/index.html
默认情况下,当用户修改任何值并按回车键时,该行将被保存并退出编辑模式。但这不适用于带有日期时间选择器的列。
要复制,请单击上面演示中的订单日期列,select 任何日期并尝试按回车键。这是行不通的。但如果您更改任何其他列,效果很好。
我尝试将焦点设置到该元素,但没有成功。
您可以更改 dataInit
的代码
dataInit: function (element) {
$(element).datepicker({
id: 'orderDate_datePicker',
dateFormat: 'M/d/yy',
//minDate: new Date(2010, 0, 1),
maxDate: new Date(2020, 0, 1),
showOn: 'focus'
});
}
通过添加onSelect
回调,可以是如下
dataInit: function (elem) {
var rowid = $(elem).closest("tr.jqgrow").attr("id");
$(elem).datepicker({
dateFormat: "dd-M-yy",
autoSize: true,
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true,
onSelect: function () {
if (event != null && event.keyCode === 13) {
$(elem).datepicker("hide");
$grid.jqGrid("saveRow", rowid);
} else {
setTimeout(function () {
$(elem).focus();
}, 50);
}
}
});
}
我已经实现了 jqGrid,如下所示 link:- http://www.guriddo.net/demo/guriddojs/integrations/inline_edit_controls/index.html
默认情况下,当用户修改任何值并按回车键时,该行将被保存并退出编辑模式。但这不适用于带有日期时间选择器的列。
要复制,请单击上面演示中的订单日期列,select 任何日期并尝试按回车键。这是行不通的。但如果您更改任何其他列,效果很好。
我尝试将焦点设置到该元素,但没有成功。
您可以更改 dataInit
dataInit: function (element) {
$(element).datepicker({
id: 'orderDate_datePicker',
dateFormat: 'M/d/yy',
//minDate: new Date(2010, 0, 1),
maxDate: new Date(2020, 0, 1),
showOn: 'focus'
});
}
通过添加onSelect
回调,可以是如下
dataInit: function (elem) {
var rowid = $(elem).closest("tr.jqgrow").attr("id");
$(elem).datepicker({
dateFormat: "dd-M-yy",
autoSize: true,
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true,
onSelect: function () {
if (event != null && event.keyCode === 13) {
$(elem).datepicker("hide");
$grid.jqGrid("saveRow", rowid);
} else {
setTimeout(function () {
$(elem).focus();
}, 50);
}
}
});
}