网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 Jquery ui datepicker设置日期范围,如只能隔3天(实现代码)
范文
    下面小编就为大家带来一篇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); 
      }
     });
    // 检查起始时间不能超过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"/><input type="text" value="" name="endDate" readonly="true" id="endDate"/>
    以上这篇Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】就是小编分享给大家的全部内容了,希望能给大家一个参考
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/16 3:49:49