easyui默认时间插件修改为只显示 年月

2020-09-13  本文已影响0人  李彬燊666

var node = $('input[name="createTime"]');

node.datebox({

    onShowPanel : function() {// 显示日期选择对象后再触发弹出月份层的事件,初始化时没有生成月份层

        span.trigger('click');// 触发click事件弹出月份层

        setTimeout(function() {// 延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔

            var tableTd = p.find('div.calendar-menu-month-inner td');

            tableTd.on("click",function (e) {

                e.stopPropagation();// 禁止冒泡执行easyui给月份绑定的事件

                var event = e.target,//当前被点击的月

                y=/\d{4}/.exec(span.html())[0],//年份

                m=parseInt($(event).attr("abbr"));//月份

                if(m<10)  m="0"+m;

                node.datebox('hidePanel');// 隐藏日期对象

                node.datebox('setValue', y + '-' + m);// 设置日期的值

            });

        }, 0);

    },

    formatter:function (date) {//格式化日期

        var y = date.getFullYear(),

            m = date.getMonth()+1;

        if(m<10) m = "0"+m;

        return y+"-"+m;

    },

    parser:function (s) {//解析一个日期字符串

        var t = Date.parse(s);

        return !isNaN(t) ? new Date(t) : new Date();

    }

});

var p = node.datebox('panel');// 日期选择对象

var span = p.find('div.calendar-title span');// 显示月份层的触发控件

上一篇下一篇

猜你喜欢

热点阅读