1
我使用jqGrid单元格编辑和日期选择器。除非由于某些奇怪的事件处理,否则一切运作良好,否则可能会导致用户数据丢失。选择单元格并设置其日期时,文本将放回可编辑单元格中,但不会将其传回服务器,除非发生某些导航,或者在设置日期时按下回车键。这意味着,如果用户只是输入数据,并且他们不做这些额外的东西(关于哪些没有反馈),编辑的值被保持在不灵活的状态。jqGrid与日期选择器不能安全地存储数据
显而易见的解决方案是在datepicker上使用onClose。这被调用,但似乎没有办法将数据写入服务器。我试过使用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的交手,所以任何建议将是非常欢迎的。
经过测试,以及一些变化(即使用keydown而不是按键)。这确实看起来很合理,但没有喜悦。 – morungos 2011-04-25 17:36:20
@morungos:你能更准确地描述**什么是错误的?我没有任何当前的远程保存数据和单元格编辑演示,所以我不能重现您的问题。我个人只使用内联或/和表单编辑将数据保存在服务器上。 – Oleg 2011-04-25 17:59:22
问题是这样的:当单元格的datepicker关闭时,如何强制数据刷新到服务器。在这个阶段,我们有一个有效的日期,它是完整的,所以它是有道理的。 – morungos 2011-04-25 18:04:41