easyui datagrid可编辑框datebox校验以及自定义扩展

4 篇文章 0 订阅

如下两种方式配合,
1、实现datagrid可编辑框填写日期的格式的校验
2、填写99999999之后,自动转换为2099-12-31
3、再次点击编辑,不修改任何内容保持2099-12-31显示,不自动修改为当前日期的问题解决。

//这个是datagrid代码片段
{title : '到期日',field : 'm',width : '100px',align : 'center',rowspan:2,
	editor : {
		type : 'datebox',
		options : {
			//required: true
			validType:'validDate[\'yyyy-MM-dd\']' 
		}
	},
	formatter:function(value,row){
		if("99999999"==value) return "2099-12-31";
		return value;
	}
},

 //验证扩展 日期格式校验
 $.extend($.fn.datebox.defaults.rules, {   
     validDate: {
         validator: function(value){    
	if("99999999"==value){return true;}
             var date = $.fn.datebox.defaults.parser(value);  
             var s = $.fn.datebox.defaults.formatter(date);  
             return s==value;   
         },    
         message: '请输入正确日期格式.'    
     }  
 });  
//扩展databox控件
$.extend($.fn.datagrid.defaults.editors, {
     datebox: {
         init: function (container, options) {
             var input = $('<input type="text">').appendTo(container);
             input.datebox(options);
             return input;
         },
         destroy: function (target) {
             $(target).datebox('destroy');
         },
         getValue: function (target) {	
			var oldValue = $(target).datebox('getValue');//获得旧值
            return oldValue;
         },
         setValue: function (target, value) {
			if("99999999"==value){
				$(target).datebox('setValue', "2099-12-31");//设置新值的日期格式
			} else{
				$(target).datebox('setValue', value);//设置新值的日期格式
			}
             
         },
         resize: function (target, width) {
             $(target).datebox('resize', width);
         }
     }
 });
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值