laydate基于原生javascript编写的日期插件,这是laydate的官网http://sentsin.com/layui/laydate。javascript
真的很感谢做者将这么易用美观的组件开源。前端时间开发系统是,老是要求给页面的时间输入框设置初始值。以前一遇到相似场景一直老老实实的使用new date生成时间格式化成时间后设置到input中,例如:前端
var now = new Date(); var startTime = $.formatDate("yyyy-MM-dd", now.getTime()); $("#endTime").val(startTime);
可是后来忍不下去 用了laydate还要每次设置初始值,在这过程当中也问过做者,laydate不支持这样的设置,因而只好研读做者的源代码,废了点心思终于明白了基本的意思,因而找到组件入口的地方,修改入口代码便可支持了,固然这种须要将laydata的初始化方前面执行,不然也是不行的。laydate开发版源码找到laydate入口修改成以下便可。java
//主接口 win.laydate = function(options){ options = options || {}; try{ as.event = win.event ? win.event : laydate.caller.arguments[0]; } catch(e){}; Dates.run(options); //设置初始化时间,在初始化是增长initDate配置项 if(options.initDate){ var de = options.initDate; var strDt = Dates.parse([de.getFullYear(), de.getMonth()+1, de.getDate()],[de.getHours(), de.getMinutes(), de.getSeconds()], options.format); Dates.query(options.elem).value = strDt; } return laydate; };
usage:ui
var start = { elem: '#startTime', format: 'YYYY-MM-DD', max: laydate.now(), istime: false, istoday: true, initDate:new Date(), choose: function (datas) { } };