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 相关文章推荐
Jquery+WebService 校验账号是否已被注册的代码
Jul 12 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
Jun 25 Javascript
javaScript面向对象继承方法经典实现
Aug 20 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
Jul 28 Javascript
jQuery事件绑定方法学习总结(推荐)
Nov 21 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
Mar 20 Javascript
详解Node项目部署到云服务器上
Jul 12 Javascript
Vue-resource拦截器判断token失效跳转的实例
Oct 27 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
Jul 10 Javascript
vue插件实现v-model功能
Sep 10 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
Oct 16 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 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 模板高级篇总结
2006/12/21 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
php 删除cookie方法详解
2014/12/01 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
python循环输出三角形图案的例子
2019/11/22 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
仓库保管员岗位职责
2013/12/20 职场文书
《猫》教学反思
2014/02/26 职场文书
詹天佑教学反思
2014/04/30 职场文书
毕业大学生自荐信
2014/06/17 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
先进个人事迹材料
2014/12/29 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
乔迁新居祝福语
2019/11/04 职场文书