Easyui datagrid editor 修改DateBox 返回值格式

见到http://www.jeasyuicn.com/post-3.html 写的这个自定义的扩展。和要达到的效果不理想。

1999-01-02   -----------》 1999.01.02


有好多办法:

1.上面的扩展插件是最理想的,只是那源码没公开,不知道里面会遇到什么问题。所以采用返回格式设置。

2.在源码包 local文件夹里面找到easyui-lang-zh_CN.js  直接修改格式,(侵入性比较高)

3.定义公公的修改js如demo中dateboxformat:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Date Format - jQuery EasyUI Demo</title>
	<link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
	<link rel="stylesheet" type="text/css" href="../../themes/icon.css">
	<link rel="stylesheet" type="text/css" href="../demo.css">
	<script type="text/javascript" src="../../jquery.min.js"></script>
	<script type="text/javascript" src="../../jquery.easyui.min.js"></script>
</head>
<body>
	<h2>Date Format</h2>
	<p>Different date formats are applied to different DateBox components.</p>
	<div style="margin:20px 0;"></div>
	<input class="easyui-datebox"></input>
	<input class="easyui-datebox" data-options="formatter:myformatter,parser:myparser"></input>
	<script type="text/javascript">
		function myformatter(date){
			var y = date.getFullYear();
			var m = date.getMonth()+1;
			var d = date.getDate();
			return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);
		}
		function myparser(s){
			if (!s) return new Date();
			var ss = (s.split('-'));
			var y = parseInt(ss[0],10);
			var m = parseInt(ss[1],10);
			var d = parseInt(ss[2],10);
			if (!isNaN(y) && !isNaN(m) && !isNaN(d)){
				return new Date(y,m-1,d);
			} else {
				return new Date();
			}
		}
	</script>
</body>
</html>

比较推荐第三种。低侵入。

例如; 

 {field:'logDate',title:'时间',width:100,editor:{type:'datebox',options:{required:true,formatter:myformatter,parser:myparser}}}

达到要求了。呵呵,编程真愉快。

posted @ 2014-08-14 17:35  瓜瓜先生  阅读(22)  评论(0)    收藏  举报  来源