Jquery ui datepicker設(shè)置日期范圍,如只能隔3天(實現(xiàn)代碼)
來源:易賢網(wǎng) 閱讀:1093 次 日期:2016-07-06 09:58:50
溫馨提示:易賢網(wǎng)小編為您整理了“Jquery ui datepicker設(shè)置日期范圍,如只能隔3天(實現(xiàn)代碼)”,方便廣大網(wǎng)友查閱!

下面小編就為大家?guī)硪黄狫query ui datepicker 設(shè)置日期范圍,如只能隔3天【實現(xiàn)代碼】。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考

最近的后臺項目前端使用了jquery ui 日歷控件自然就使用了jquery ui 的 datepicker

后臺數(shù)據(jù)比較好大,一般是千萬級的和百萬級的關(guān)聯(lián),查詢會很慢,所以后加想多加些過濾條件,其中時間要設(shè)置為必選,

產(chǎn)品要叫日歷控件做成只能做3天之內(nèi)的查詢,且日歷控件要做成這樣的要求,如果前一個日歷控制選擇了2013年9月1號

后面的日歷控件只能選擇2013年9月1號,2013年9月2號,2013年9月3號,其他的全部要不能選,本來想叫他給提示的,領(lǐng)導(dǎo)非要這么干

真是領(lǐng)導(dǎo)一句話,碼工辛苦好幾年啊。。。好吧還好jquery ui 的日歷控件提供了這個功能,很強大

首先去官網(wǎng)上(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)設(shè)置結(jié)束時間(endDate)的最小時間和最大時間

   option = "minDate"; //最小時間

   var selectedTime = getTimeByDateStr(selectedDate);

   var minTime = selectedTime;

     //最小時間 為開第一個日歷控制選擇的時間

   targetDate = new Date(minTime); 

   //設(shè)置結(jié)束時間的最大時間

   optionEnd = "maxDate";

     //因為只能做三天內(nèi)的查詢 所以是間隔2天 當前時間加上2*24*60*60*1000

   targetDateEnd = new Date(minTime+2*24*60*60*1000);

   }else{

   // 如果是選擇了結(jié)束時間(endDate)設(shè)置開始時間(startDate)的最小時間和最大時間

   option = "maxDate"; //最大時間

   var selectedTime = getTimeByDateStr(selectedDate);

   var maxTime = selectedTime;

   targetDate = new Date(maxTime);

   //設(shè)置最小時間 

   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;

}

//根據(jù)日期字符串取得其時間

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設(shè)置日期范圍,如只能隔3天【實現(xiàn)代碼】就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考

更多信息請查看網(wǎng)絡(luò)編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)