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下判断IE与FF的比较简单的方式
Oct 17 Javascript
javascript 时间比较实现代码
Oct 28 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
Oct 12 Javascript
多种方法实现JS动态添加事件
Nov 01 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
Javascript添加监听与删除监听用法详解
Dec 19 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
Jun 21 Javascript
在网页中插入百度地图的步骤详解
Dec 02 Javascript
JavaScript 数据类型详解
Mar 13 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
Mar 25 jQuery
js实现复制功能(多种方法集合)
Jan 06 Javascript
Openlayers测量距离与面积的实现方法
Sep 25 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
DIY实用性框形天线
2021/03/02 无线电
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
php 数据结构之链表队列
2017/10/17 PHP
javascript scrollTop正解使用方法
2013/11/14 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
Python获取任意xml节点值的方法
2015/05/05 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
python实现局域网内实时通信代码
2019/12/22 Python
python实现交并比IOU教程
2020/04/16 Python
python小白学习包管理器pip安装
2020/06/09 Python
python三引号如何输入
2020/07/06 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
艺术应用与设计个人的自我评价
2013/11/23 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
大学生求职信例文
2014/06/29 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
Java循环队列与非循环队列的区别总结
2021/06/22 Java/Android
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android