laydate插件,控制选择的时间段范围
根据选择的开始时间控制可选择的结束时间在一个月内
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>sites</title>
<script type="text/javascript" src="http://s.59pi.com/js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="http://s.59pi.com/js/jquery/laydate/laydate.js"></script>
</head>
<body>
<input class="laydate-icon" name="begin_time" value="" placeholder="请输入日期" id="start" type="text">
<span> - </span>
<input class="laydate-icon" name="end_time" value="" placeholder="请输入日期" id="end" type="text">
</body>
<script type="text/javascript">
var start = {
elem: '#start', //id为star的输入框
format: 'YYYY/MM/DD',
max: laydate.now(), //最大日期
istime: true,
istoday: false,
choose: function(datas){
var now = new Date(laydate.now().replace("-", "/")); //当前日期的date格式
var add=new Date(datas.replace("-", "/")); //选择的日期
add= new Date(add.getTime() + 30*24*60*60*1000); //在选择的日期+30天
if((now.getMonth() + 1)<(add.getMonth() + 1)){ //如果当前月份小于选择月份
end.max = laydate.now(); //结束日的最大日期为当前日期
}else if ((now.getMonth() + 1)==(add.getMonth() + 1) && now.getDate()<add.getDate()) {
end.max = laydate.now();//月份相同且当前日小于选择日
}
else {
add=add.getFullYear() + "/" + (add.getMonth() + 1) + "/"+ add.getDate();//转换日期格式
end.max = add;//结束日的最大日期为选择的日期+30天
}
end.min = datas;//开始日选好后,重置结束日的最小日期
}
};
var end = {
elem: '#end',
format: 'YYYY/MM/DD',
max: laydate.now(),
istime: true,
istoday: false,
choose: function(datas){
var min=new Date(datas.replace("-", "/"));
min= new Date(min.getTime() - 30*24*60*60*1000); //在日期-30天。
min=min.getFullYear() + "/" + (min.getMonth() + 1) + "/"+ min.getDate();
start.max = datas; //结束日选好后,重置开始日的最大日期
start.min = min;
}
};
laydate(start);
laydate(end);
</script>
</html>