我有jqgrid
内联编辑。我有格式为d.m.Y的日期列。我希望该列在以Y-m-d格式发送到服务器之前为modified
,因为如果我将格式设置为jqgrid d.m.Y,则模型绑定器将相同的属性绑定为null。如何对serialize
数据before
请求服务器?
在编辑内联模式时,我有发布数据的事件:
$(obj.grid).jqGrid('saveRow', eRowId, {
succesfunc: function (response) {
alert("success");
},
url: ddf.DDF+ "/Home/Edit",
mtype: "POST"
});
答案 0 :(得分:1)
首先,重要的是要提到应该从显示给用户的数据中区分内部数据的格式,或者服务器和客户端之间传输的数据。 jqGrid具有formattres的概念,它允许生成格式化的HTML片段,该片段将放置在列的<td>
单元格上。存在formatter: "date",可用于将输入数据转换为其他格式。如果您遵循格式化程序的逻辑,那么您将使用格式为Y-m-d
的数据填充网格,但显示格式为{{1}的数据}。 d.m.Y
的{{1}}不包含formatoptions
属性,然后jqGrid会自动转换源格式formatter: "date"
的编辑结果。因此,您无需进行任何其他序列化。
然而,如果您确实需要为内联编辑进行一些手动序列化,那么您应该定义jqGrid选项级别的sendFormatted: true
回调。回调获取Y-m-d
对象作为唯一参数,它应返回将用于将数据发送到服务器的对象或字符串。