0

i binded by jqgrid with json returned from ajax. json has date in following format

11/1/2013 12:00:00 AM

in the colmodel i have specified the following

{ name: 'datecol', index: 'SignDate', width: '200', jsonmap: 'cell.SignDate', editable: true, sorttype: 'date',
                    editable: true, formatter: 'date', formatoptions: {
                        srcformat: 'm-d-Y H:i:s',
                        newformat: 'Y-M-d'
                    },
editoptions: { dataInit: initDateEdit },
initDateEdit = function(elem) {
                setTimeout(function() {
                    $(elem).datepicker({
                        formatter: 'date', formatoptions: {
                            srcformat: 'm-d-Y H:i:s',
                            newformat: 'yy-M-d'
                        }
                        autoSize: true,
                        showOn: 'button', // it dosn't work in searching dialog
                        changeYear: true,
                        changeMonth: true,
                        showButtonPanel: true,
                        showWeek: true
                    });
                    //$(elem).focus();
                },100);
            }

This displays the date correctly in the grid as

2013-Nov-01

but when i hit addnew record, the popup comes and when i select the date and hit submit, in the grid, the new record is showing

NaN-undefined-NaN

in the date column. what is wrong here?

when I use the same code as given in this link http://www.ok-soft-gmbh.com/jqGrid/LocalFormEditing.htm

edit works fine, but when i add new row, the date comes as NaN-undefined-NaN

please help.

4

1 回答 1

1

我认为您描述的问题的原因是您使用的 jQuery UI Datepicker 的参数错误。您使用formatter和不存在formatoptions的参数。datepicker取而代之的是,您应该使用此处描述的格式的dateFormat选项。

更新:您描述的问题的主要原因是您使用的日期格式错误。重要的是要理解它应该srcformat有PHP日期格式,但是 jQuery UI Datepicker 支持另一种格式,例如这里描述的。输入数据包含日期和时间。另一方面,jQuery UI Datepicker 仅支持日期。因为您使用then 我想您只想忽略日期的时间部分。在这种情况下,我建议您使用newformatformatoptions11/1/2013 12:00:00 AMnewformat: 'yy-M-d'

formatter: 'date',
formatoptions: {
    srcformat: 'm/d/Y',
    newformat: 'Y-m-d'
}

代替

formatter: 'date',
formatoptions: {
    srcformat: 'm-d-Y H:i:s',
    newformat: 'Y-m-d'
}

您当前使用的。下一个问题是dateFormatjQuery UI Datepicker 的选项。您必须使用对应的格式srcformat,但使用正确的格式(在此处描述)。如果srcformat: 'm/d/Y'你应该使用dateFormat: 'm/d/yy'而不是dateFormat: 'yy-m-dd'你在jsfiddle 演示中使用的。

修改后的演示现在可以正常工作。

于 2013-08-24T08:31:44.080 回答