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 相关文章推荐
ExtJs grid行 右键菜单的两种方法
Jun 19 Javascript
高亮显示web页表格行的javascript代码
Nov 19 Javascript
使用jquery实现div的tab切换实例代码
May 27 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
Sep 09 Javascript
JS自定义选项卡函数及用法实例分析
Sep 02 Javascript
javascript实现抽奖程序的简单实例
Jun 07 Javascript
用vue和node写的简易购物车实现
Apr 25 Javascript
Bootstrap Table使用整理(一)
Jun 09 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
详解react、redux、react-redux之间的关系
Apr 11 Javascript
vue中slot(插槽)的介绍与使用
Nov 12 Javascript
详解微信小程序轨迹回放实现及遇到的坑
Feb 02 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
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
jquery easyui使用心得
2014/07/07 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
python字符串替换的2种方法
2014/11/30 Python
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
实例讲解python中的协程
2018/10/08 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
教师求职推荐信范文
2013/11/20 职场文书
家长通知书教师评语
2014/04/17 职场文书
加强作风建设工作总结
2014/10/23 职场文书
计划生育诚信协议书
2014/11/02 职场文书
2015年仓库工作总结
2015/04/09 职场文书
义诊活动通知
2015/04/24 职场文书
2015年科普工作总结
2015/07/23 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python