2017-03-14 269 views
0

我正在使用jQuery datepicker,並且我需要一個禁用每隔兩週的功能。jQuery UI Datepicker - 每兩週關閉一次

例如:偶數週(2,4,6 ..)的所有日子都啓用並且可以被挑選 - 但是奇數週(1,3,5 ..)的所有日子都被禁用並且不能被挑選。

我知道我可以禁用特定的日期/日期與beforeshowday。但這不是我以後..

任何解決方案?謝謝。

回答

5

您可以使用datepickerbeforeShowDay功能禁用。下面的代碼使用片刻,以促使越來越周更容易,但你可以嘗試其他的東西,以及:

$(function() { 
 
    $("#datepicker").datepicker({ 
 
     beforeShowDay:function(d){ 
 
      var m=moment(d); 
 
      //week number is even 
 
      var en=m.week()%2===0; 
 
      //its first and monday 
 
      en|=(m.date()===1 && m.isoWeekday()===1); 
 
      return [en,"","Odd Week"]; 
 
     } 
 
    }); 
 
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://momentjs.com/downloads/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script> 
 
<p>Date: <input type="text" id="datepicker"></p>

更新奇數週,使第一個星期一。與1-June-2015

+0

我得到它的工作,非常感謝你。 – fredz

+0

您的代碼出現問題:在jquery-ui.js中設置firstDay:1(星期一)時,所有禁用的星期日都會啓用。也許任何簡單的解決辦法呢? – fredz

+0

您使用哪些代碼來啓用星期一? – TheVillageIdiot