使用的是layui中插件laydate
需求是开始日期初始化为月初,结束日期为当日,两者不可交叉。话不多说下面上代码。(需要注意的是这块时间插件是异步执行的,所以在获取表单时可能会获取不到,建议加上表单赋值)
function initDate() {
var date1 = new Date();
var date2 = new Date();
date1.setDate(1);
date1.setHours(0, 0, 0, 0);
date2.setHours(0, 0, 0, 0);
var date1Str = util.toDateString(new Date(date1), 'yyyy-MM-dd');
var date2Str = util.toDateString(new Date(date2), 'yyyy-MM-dd');
//这块建议加上,不然初始化表单获取不到值
$("#startDate").val(date1Str);
$("#endDate").val(date2Str);
//日期
var start = laydate.render({
elem: '#startDate',
max:date2Str,
done: function (value, date) {
endMax = end.config.max;
end.config.min = date;
end.config.min.month = date.month - 1;
},
value:date1Str
});
var end = laydate.render({
elem: '#endDate',
min:date1Str,
done: function (value, date) {
if ($.trim(value) == '') {
var curDate = new Date();
date = {'date': curDate.getDate(), 'month': curDate.getMonth() + 1, 'year': curDate.getFullYear()};
}
start.config.max = date;
start.config.max.month = date.month - 1;
},
value:date2Str
});
}
以上就是基本的代码了,很简单大家也可以根据自己的需求更改