$.extend($.fn.datagrid.defaults.editors, {
datetimebox: {// datetimebox就是你要自定义editor的名称
init: function (container, options) {
var input = $('<input class="easyuidatetimebox">').appendTo(container);
return input.datetimebox({
formatter: function (date) {
return new Date(date).format("yyyy-MM-dd hh:mm:ss");
}
});
},
getValue: function (target) {
return $(target).parent().find('input.combo-value').val();
},
setValue: function (target, value) {
$(target).datetimebox("setValue", value);
},
resize: function (target, width) {
var input = $(target);
if ($.boxModel == true) {
input.width(width - (input.outerWidth() - input.width()));
} else {
input.width(width);
}
}
}
});
// 时间格式化
Date.prototype.format = function (format) {
/*
* eg:format="yyyy-MM-dd hh:mm:ss";
*/
if (!format) {
format = "yyyy-MM-dd hh:mm:ss";
} var o = {
"M+": this.getMonth() + 1, // month
"d+": this.getDate(), // day
"h+": this.getHours(), // hour
"m+": this.getMinutes(), // minute
"s+": this.getSeconds(), // second
"q+": Math.floor((this.getMonth() + 3) / 3), // quarter
"S": this.getMilliseconds()
// millisecond
}; if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
} for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
};

使用方法:

<th field="datetime" width="150" editor="datetimebox">datetime</th>

或者:

在配置里面

{

field:"dataTime",

editor:"datetimebox"

}

validatebox增加对time、date、datetime的验证

$.extend($.fn.validatebox.defaults.rules, {
/*13:04:06*/
time: {
validator: function (value) {
var a = value.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {
return false;
} else if (a[1] > 24 || a[3] > 60 || a[4] > 60) {
return false;
}
},
message: '时间格式不正确,请重新输入。'
},
/*2014-01-01*/
date: {
validator: function (value) {
var r = value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if (r == null) {
return false;
}
var d = new Date(r[1], r[3] - 1, r[4]);
return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
},
message: '时间格式不正确,请重新输入。'
},
/*2014-01-01 13:04:06*/
datetime: {
validator: function (value) {
var r = value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if (r == null) return false;
var d = new Date(r[1], r[3] - 1, r[4], r[5], r[6], r[7]);
return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[6] && d.getSeconds() == r[7]);
},
message: '时间格式不正确,请重新输入。'
}
});

最新文章

  1. Uncaught RangeError: Maximum call stack size exceeded 调试日记
  2. about Internet protocol
  3. java 生成 csv文件
  4. 【POJ 3177】Redundant Paths(边双连通分量)
  5. 关于Xcode7更新之后使用 SDWebImage 图片加载不出来
  6. dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications解决办法
  7. Android SQLiteOpenHelper(一)
  8. SRAM与SDRAM的区别
  9. C#多线程的死锁演示
  10. 使用Logstash来实时同步MySQL数据到ES
  11. [转]BTC RPC API GetTransaction
  12. MVC查找排序分页学习
  13. vue使用element-ui的el-input监听不了回车事件
  14. PE就是市盈率的缩写 PB是平均市净率的缩写
  15. 【转】Map 与 Unordered_map
  16. file类型input框设置上传相同文件,并都可以触发change事件。
  17. C++解析六-继承
  18. element-ui Message组件源码分析整理笔记(八)
  19. Linux rhel7 无线网络配置
  20. 关于Unity中的本地存储

热门文章

  1. 使用php生成数字、字母组合验证码
  2. 顶级域名和二级域名共享cookie及相互删除cookie
  3. ubuntu 16.04 安装VS CODE时 此软件来自第三方且可能包含非自由组件
  4. SpringMVC-DispatcherServlet配置(Spring-servlet.xml)
  5. Winform 开发基础分层框架
  6. 18年春招某编程题:有三个整数X,Y,Z,要求进行若干次操作使得X,Y,Z相等
  7. LeetCode——4. Median of Two Sorted Arrays
  8. quartz中设置Job不并发执行
  9. 如何修改CSV文件的分隔符
  10. Ajax的课外了解