laydate日期组件增加初始时间设置

laydate基于原生javascript编写的日期插件,这是laydate的官网http://sentsin.com/layui/laydate

真的很感谢作者将这么易用美观的组件开源。前端时间开发系统是,总是要求给页面的时间输入框设置初始值。之前一遇到类似场景一直老老实实的使用new date生成时间格式化成时间后设置到input中,例如:

 var now = new Date();
 var startTime = $.formatDate("yyyy-MM-dd", now.getTime());
 $("#endTime").val(startTime);

但是后来忍不下去 用了laydate还要每次设置初始值,在这过程中也问过作者,laydate不支持这样的设置,于是只好研读作者的源代码,废了点心思终于明白了基本的意思,于是找到组件入口的地方,修改入口代码即可支持了,当然这种需要将laydata的初始化方前面执行,否则也是不行的。laydate开发版源码找到laydate入口修改为如下即可。

//主接口
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:

var start = {
        elem: '#startTime',
        format: 'YYYY-MM-DD',
        max: laydate.now(),
        istime: false,
        istoday: true,
        initDate:new Date(),
        choose: function (datas) {
            
        }
};

 

转载于:https://my.oschina.net/u/1760791/blog/674393

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值