2011-09-07 51 views
0

编辑操作按钮添加到使用下面的代码行的jqGrid如何提供即时反馈。 编辑完成后,如果单击Save action按钮,则不会发生任何事情,Save按钮保持活动状态。 保存需要一些时间,它看起来像点击被忽略。用户一次又一次地点击保存按钮。如果保存操作按钮被点击的jqGrid

如何提供即时反馈点击保存按钮后保存完成之前:改变按钮图标保存到保存的动画,删除可能再次点击它,展现节能消息? 使用jqueryUI。

colModel: [{"fixed":true,"label":" change ","name":"_actions","width":($.browser.webkit == true? 37+15: 32+15) 
    ,"align":"center","sortable":false,"formatter":"actions", 
"formatoptions":{"keys":true,"delbutton":false,"onSuccess":function (jqXHR) {actionresponse = jqXHR;return true;} 
    ,"afterSave":function (rowID) { 
    cancelEditing($('#grid'));afterRowSave(rowID,actionresponse);actionresponse=null; } 
    ,"onEdit":function (rowID) { 
     if (typeof (lastSelectedRow) !== 'undefined' && rowID !== lastSelectedRow) 
     cancelEditing($('#grid')); 
     lastSelectedRow = rowID; 
     } 
    }} 

更新

火狐使网格无效(变灰),如果正确地保存在没有任何代码在联编辑两种方式。所以它看起来像IE问题。

如何变灰的jqGrid在IE 9还?

回答

1

如果我理解你纠正你的问题不是“动作”格式化的问题。如果用户只是按下“Enter”并且该行应该保存在服务器上,那么您在内联编辑中遇到同样的问题。有没有直接事件,这将在ajax请求到服务器之前被触发。

尽管如此,还是有不同的间接接收控制和显示用户的“保存...”消息的可能性。最简单的方法是使用serializeRowData来显示消息。您不应忘记关闭errorfuncsuccessfunc方法中的“保存...”格。

+0

谢谢。我更新了在IE中实现FF行为的问题。也许有可能使用它。我也试图在为'jQuery.extend(jQuery.jgrid.defaults'使用ajaxOptions的方法使用jQuery的stadard AJAX显示/隐藏事件的性质,但这些事件不会被触发 – Andrus

+0

@Andrus:你在你的问题要求提供“即时反馈”对于某种“保存动画”而言,它与“loadui:”block“'不一样,你应该检查你的代码,使用''#lui _”+ $ tpid' div进行一些操作,你可以做的。 – Oleg

+0

我不清晰的问题抱歉,我加入更好的问题,以http://stackoverflow.com/questions/7333943/how-to-gray-out-jqgrid-in-save-in-inline-edit-in- ie-like-firefox-does。 – Andrus