Jquery jqgrid编辑组合列并绑定数据

Jquery jqgrid编辑组合列并绑定数据,jquery,jqgrid,jqgrid-asp.net,jqgrid-formatter,Jquery,Jqgrid,Jqgrid Asp.net,Jqgrid Formatter,我有一个jqgrid,在这里我使用了自定义元素来格式化显示 { name: 'PDTime', index: 'PDTime', width: 60, editable: true, formatter: timeSpanHMFormatter, edittype: 'text', editoptions: { custom_element: function (value, options) {

我有一个jqgrid,在这里我使用了自定义元素来格式化显示

 {
            name: 'PDTime', index: 'PDTime', width: 60, editable: true, formatter: timeSpanHMFormatter, edittype: 'text', editoptions: {
                custom_element: function (value, options) {
                    var elemStr = '<div> <select id="UTTime" name="UTTime" >'

                    for (var i = 0; i < 24; i++) {
                        elemStr = elemStr + '<option value="' + i + '">' + i + '</option>'
                    }
                    elemStr = elemStr + "</select> </div>";
                    return $(elemStr)[0];
                },
                custom_value: function (elem, operation, value) {
                    console.log(elem);

                }
            }
        },
在查看模式下,单元格看起来像02:30等,具体取决于值。我想在编辑模式下将值绑定到此PDTime对象,但我不确定如何执行此操作

custom_元素现在会创建一个小时下拉列表,我正在尝试将下拉列表中的选定值绑定到
PDTime.Hours
。我该怎么做

从中可以看出,对于自定义元素,需要定义一个自定义_值函数,并将操作设置为get

这里的诀窍是,当获取操作时,此事件应该返回对象。 下面是一个示例:

custom_value: function (elem, oper) {
    if(oper==='get') {
        var hour = $("#UTTime", elem).val();
        // get the minutes according to your definition
        var time = $("#UTTime", elem).val(); 
        return {"Hours" : hour,  "Minutes": time};
    }
},
请注意,当数据发布到服务器时,PDTime是一个对象。您可以使用serializeRowData事件()简化返回一个或多个值的post。此事件是jqGrid事件,您可以这样做:

...jqGrid({
....
    serializeRowData : function( postdata ) {
        var hours = postdata.PDTime.Hours;
        var minutes postdata.PDTime.Minutes;
        posdata.PDTime = hours+":"+minutes;
        // or what you want data combination
        return postdata;
    },
...

Opps,edittype:“custom”不是问题中的
文本。您能更详细地说明“在编辑模式下将值绑定到此PDTime对象”的含义吗。。使用什么编辑模块-内联,formedit的单元格?我使用的是内联编辑。绑定我的意思是,当我为PDTime输入值时,我希望能够将其分配给PDTime.hours和minutes。例如,如果在“两个”下拉列表中,我选择了两个值,一个绑定到PDTimr.hours,另一个绑定到minutes,那么当我在保存时发回时,我可以访问PDTimr对象。您可以用演示数据发布完整的jqGrid设置吗?-i、 我需要一个例子。为此,您可以使用jsfiddle.net(或其他)。非常感谢。
...jqGrid({
....
    serializeRowData : function( postdata ) {
        var hours = postdata.PDTime.Hours;
        var minutes postdata.PDTime.Minutes;
        posdata.PDTime = hours+":"+minutes;
        // or what you want data combination
        return postdata;
    },
...