Jquery ui datepicker設(shè)置日期范圍,如只能隔3天【實(shí)現(xiàn)代碼】
最近的后臺項(xiàng)目前端使用了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 的日歷控件提供了這個功能,很強(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"){ // 如果是選擇了開始時間(startDate)設(shè)置結(jié)束時間(endDate)的最小時間和最大時間 option = "minDate"; //最小時間 var selectedTime = getTimeByDateStr(selectedDate); var minTime = selectedTime; //最小時間 為開第一個日歷控制選擇的時間 targetDate = new Date(minTime); //設(shè)置結(jié)束時間的最大時間 optionEnd = "maxDate"; //因?yàn)橹荒茏鋈靸?nèi)的查詢 所以是間隔2天 當(dāng)前時間加上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天【實(shí)現(xiàn)代碼】就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
zepto與jquery的區(qū)別及zepto的不同使用8條小結(jié)
這篇文章主要介紹了zepto與jquery的區(qū)別及zepto的不同使用8條小結(jié) 的相關(guān)資料,需要的朋友可以參考下2016-07-07基于jQuery和CSS3制作響應(yīng)式水平時間軸附源碼下載
我們經(jīng)??吹接泻芏嗟拇怪睍r間軸用來記錄事件進(jìn)展,而有朋友問我要求分享水平的時間軸,其實(shí)水平時間軸的難點(diǎn)在于自適應(yīng)屏幕尺寸。那么 今天我要給大家分享的是一款支持響應(yīng)式、支持觸屏手勢滑動的水平時間軸2015-12-12jQuery+CSS3實(shí)現(xiàn)點(diǎn)贊功能
本篇文章主要介紹了jQuery+CSS3實(shí)現(xiàn)點(diǎn)贊功能的示例代碼。具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03jquery 查找iframe父級頁面元素的實(shí)現(xiàn)代碼
jquery 查找iframe父級頁面元素的實(shí)現(xiàn)代碼,學(xué)習(xí)jquery的朋友可以參考下。2011-08-08