Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】


Posted in Javascript onMay 04, 2016

最近的后台项目前端使用了jquery ui 日历控件自然就使用了jquery ui 的 datepicker

后台数据比较好大,一般是千万级的和百万级的关联,查询会很慢,所以后加想多加些过滤条件,其中时间要设置为必选,

产品要叫日历控件做成只能做3天之内的查询,且日历控件要做成这样的要求,如果前一个日历控制选择了2013年9月1号

后面的日历控件只能选择2013年9月1号,2013年9月2号,2013年9月3号,其他的全部要不能选,本来想叫他给提示的,领导非要这么干

真是领导一句话,码工辛苦好几年啊。。。好吧还好jquery ui 的日历控件提供了这个功能,很强大

首先去官网上(http://jqueryui.com/download/#!version=1.9.2)下载jquery ui 包 我用的是1.92版本

下载好了之后

引入:

<link href="jquery-ui/1.9.2/css/smoothness/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="jquery-ui/1.9.2/js/jquery-ui-1.9.2.custom.js"></script>


<script type="text/javascript" src="jquery-ui/1.9.2/datepicker-init.js"></script>



<script type="text/javascript"> 
$(function(){
 var dates = $("#startDate,#endDate");
 var option;
 var targetDate;
 var optionEnd;
 var targetDateEnd;
 dates.datepicker({
  showButtonPanel:false,
  onSelect: function(selectedDate){ 
   if(this.id == "startDate"){
   // 如果是选择了开始时间(startDate)设置结束时间(endDate)的最小时间和最大时间
   option = "minDate"; //最小时间
   var selectedTime = getTimeByDateStr(selectedDate);
   var minTime = selectedTime;
	 //最小时间 为开第一个日历控制选择的时间
   targetDate = new Date(minTime); 
   //设置结束时间的最大时间
   optionEnd = "maxDate";
	 //因为只能做三天内的查询 所以是间隔2天 当前时间加上2*24*60*60*1000
   targetDateEnd = new Date(minTime+2*24*60*60*1000);
   }else{
   // 如果是选择了结束时间(endDate)设置开始时间(startDate)的最小时间和最大时间
   option = "maxDate"; //最大时间
   var selectedTime = getTimeByDateStr(selectedDate);
   var maxTime = selectedTime;
   targetDate = new Date(maxTime);
   //设置最小时间 
   optionEnd = "minDate";
   targetDateEnd = new Date(maxTime-2*24*60*60*1000);
   }
   dates.not(this).datepicker("option", option, targetDate); 
   dates.not(this).datepicker("option", optionEnd, targetDateEnd); 
  }
 });
// 检查起始时间不能超过3天
function checkTimeInOneMonth(startDate, endDate){
	var startTime = getTimeByDateStr(startDate);
 var endTime = getTimeByDateStr(endDate);
 if((endTime - startTime) > 2*24*60*60*1000){
  return false;
 }
 return true;
}


//根据日期字符串取得其时间
function getTimeByDateStr(dateStr){
 var year = parseInt(dateStr.substring(0,4));
 var month = parseInt(dateStr.substring(5,7),10)-1;
 var day = parseInt(dateStr.substring(8,10),10);
 return new Date(year, month, day).getTime();
}
</script> <input type="text" value="" name="startDate" readonly="true" id="startDate" title="日期范围不能大于3天"/><input type="text" value="" name="endDate" readonly="true" id="endDate" title="日期范围不能大于3天"/>

以上这篇Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript打开新窗口同时关闭旧窗口
Jan 16 Javascript
关于JavaScript的with 语句的使用方法
May 09 Javascript
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
jquery选择器使用详解
Apr 08 Javascript
JS继承用法实例分析
Feb 05 Javascript
javascript框架设计之类工厂
Jun 23 Javascript
js时间戳转为日期格式的方法
Dec 28 Javascript
javascript瀑布流式图片懒加载实例解析与优化
Feb 23 Javascript
javascript实现日期三级联动下拉框选择菜单
Dec 03 Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 Javascript
vue-iview动态新增和删除的方法
Jun 17 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
Oct 20 Javascript
开启BootStrap学习之旅
May 04 #Javascript
JavaScript入门教程之引用类型
May 04 #Javascript
javascript和jquery实现用户登录验证
May 04 #Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
May 04 #Javascript
纯JS代码实现气泡效果
May 04 #Javascript
DWR中各种java方法的调用
May 04 #Javascript
js实现div在页面拖动效果
May 04 #Javascript
You might like
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
jquery设置控件位置的方法
2013/08/21 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
Python之自动获取公网IP的实例讲解
2017/10/01 Python
Django实现学生管理系统
2019/02/26 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
python地震数据可视化详解
2019/06/18 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
安全教育心得体会
2013/12/29 职场文书
国贸专业个人求职信范文
2014/01/08 职场文书
作风建设年活动总结
2014/08/27 职场文书
项目合作协议书
2014/09/23 职场文书
社区敬老月活动总结
2015/05/07 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android