zoukankan      html  css  js  c++  java
  • Jquery ui datepicker 设置日期范围,如只能隔3天

    最近的后台项目前端使用了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);  
            }
        });
    </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天"/>




  • 相关阅读:
    MySQL表的四种分区类型
    微信开发配置(Yii框架下的开发)
    一道编程题—输出字符串内重复的数字
    无序数组内查找指定值(快速查找)
    指针
    chmod
    cookie和session的区别
    使用keytool生成证书
    人大金仓修改最大连接数
    数据库链接地址
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3306449.html
Copyright © 2011-2022 走看看