項目中的一個jqGrid列表頁面的一列需要顯示日期和時間,如:2011-08-10 10:20:30,查閱官方wiki文檔的說明和例子,然后在colModel的需要格式化時間的列的formatter:'date'的后面加了一些 formatoptions配置,但IE和FF瀏覽器中都沒有效果,也沒提示什么錯誤~
無奈官方wiki文檔的日期時間格式化部分的說明和例子對我來說不夠細,只好查看jquery.fmatter.js中的源代碼的DateFormat部 分,還好查出來了,原來srcformat和newformat的值都可以用masks里的那些選項,而masks里正好有我需要的日期時間格式—— ISO8601Long:"Y-m-d H:i:s"。哈,這下好了,馬上在formatter:'date'后寫上formatoptions:{newformat: 'Y-m-d H:i:s'}並保存,然后清空IE和FF瀏覽器的緩存重新訪問~
奇怪,現在數據格式是符合要求了,但是時分秒都顯示為0,調試了下后台數據,發現傳送過來的日期時間數據里的時間部分並不為0!!!難道是jqGrid默 認日期格式化配置的影響?再看看grid.locale-zh_CN.js中的日期格式化部分的配置,果然是srcformat: 'Y-m-d'啊!這就是為什么我設置了formatoptions:{newformat: 'Y-m-d H:i:s'}后顯示的時分秒部分值都為0,原來是源日期時間格式中沒有格式化時分秒(H:i:s)部分,然后新格式化后的時間就默認將源格式化部分的時 分秒設置為0!
哈哈,再將formatter:'date'的formatoptions配置從formatoptions:{newformat: 'Y-m-d H:i:s'}改成formatoptions:{srcformat: 'Y-m-d H:i:s', newformat: 'Y-m-d H:i:s'}並保存,再清空IE和FF瀏覽器的緩存重新訪問,哈哈,兩種瀏覽器都OK了!
[搬自BlogBus]