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

下面小編就為大家?guī)?lái)一篇Jquery ui datepicker 設(shè)置日期范圍,如只能隔3天【實(shí)現(xiàn)代碼】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考

最近的后臺(tái)項(xiàng)目前端使用了jquery ui 日歷控件自然就使用了jquery ui 的 datepicker

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

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

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

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

首先去官網(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"){

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

   option = "minDate"; //最小時(shí)間

   var selectedTime = getTimeByDateStr(selectedDate);

   var minTime = selectedTime;

     //最小時(shí)間 為開(kāi)第一個(gè)日歷控制選擇的時(shí)間

   targetDate = new Date(minTime); 

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

   optionEnd = "maxDate";

     //因?yàn)橹荒茏鋈靸?nèi)的查詢 所以是間隔2天 當(dāng)前時(shí)間加上2*24*60*60*1000

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

   }else{

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

   option = "maxDate"; //最大時(shí)間

   var selectedTime = getTimeByDateStr(selectedDate);

   var maxTime = selectedTime;

   targetDate = new Date(maxTime);

   //設(shè)置最小時(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); 

  }

 });

// 檢查起始時(shí)間不能超過(guò)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ù)日期字符串取得其時(shí)間

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天【實(shí)現(xiàn)代碼】就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

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