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) { } };