解决easyui datebox无法formatter

做计划,计划分为年度计划和月度计划,根据计划的类型来选择日期的显示格式。如果选择年度计划,则日期框只显示年份,如果选择月度计划,则日期框显示年份和月份。除了要设置formatter外还需要设置parser。代码如下,参考内容http://www.longziyong.cn/post/dnzs/2017/04/778.html

$('#startTimeSelect').datebox({
        label: "计划开始时间",
        labelPosition: 'before',
        labelAlign: 'right',
        width: 200,
        formatter: function (date) {
            var y = date.getFullYear();
            var m = date.getMonth() + 1;
            var d = date.getDate();
            var planType = $('#planTypeSelect').combobox('getValue');
            if (planType == 0) {
                return y;
            } else if (planType == 1) {
                return y + '-' + m;
            } else if (planType == 2) {
                $('#endTimeSelect').datebox('setValue', y + 5);
                return y;
            }
            return y + '-' + m + '-' + d;
        },
        parser: function (s) {
            if (s){
                s = s.toString();
                console.info(s);
                var yStr = s.substr(0, 4);
                var mStr = s.substr(5);


                var y = parseInt(yStr, 10);
                var m = parseInt(mStr, 10);
                if (!isNaN(y) && !isNaN(m)) {
                    return new Date(y, m - 1, 1);
                } else {
                    return new Date(y,1,1);
                }
            }
        }
    });

猜你喜欢

转载自blog.csdn.net/weixin_38400347/article/details/83659427