Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】 - Web前端
作者:98wpeu发布时间:2026-08-21分类:网页前端技术浏览:2
导读:最近的后台项目前端使用了JQueryUI日历控件自然就使用了jQueryui的datepicker后台数据比较好大,一般是千万级的和百万级的关联,查询会很慢,所以后加想...
最近的后台项目前端使用了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天【实现代码】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关推荐
- jquery实现去除重复字符串的方法小结 - Web前端
- jQuery的promise与deferred对象在异步回调中的作用 - Web前端
- jquery实现表格中点击相应行变色功能效果【实例代码】 - Web前端
- jQuery代码实现表格中点击相应行变色功能 - Web前端
- jQuery中的基本选择器用法学习教程 - Web前端
- jquery实现一个简单的表单验证实例 - Web前端
- jQuery siblings()用法实例详解 - Web前端
- 基于jQuery实现收缩展开功能 - Web前端
- ajax在兼容模式下失效的快速解决方法 - Web前端
- jQuery实现div随意拖动的实例代码(通用代码) - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


