首页 > 解决方案 > 如何在jQuery datepicker中每周随机启用一天

问题描述

目前我只在 datepicker 中显示接下来的 60 天。我试图每周只随机启用一天。我不知道怎么做。

  $( "#visit" ).datepicker({
   beforeShowDay: $.datepicker.noWeekends,
   minDate: 0,
   maxDate:60
   });

http://jsfiddle.net/4zb2frxt/2/

标签: javascriptjquery

解决方案


您可以编写自定义函数来禁用除一周中的一天以外的所有日期,以及下面的代码

$(function(){

    $("#visit").datepicker({
         beforeShowDay: available,
         minDate: 0,
         maxDate:60
    });
    
      //get random value to select date
      var random = Math.floor(Math.random() * 5) + 4;
      //console.log(random);
    function available(date) {
      var day = date.getDay();
      //disable weekends
      if(day==6 || day==0) {
        return [false,"","unAvailable"];
      }
      
      var dt = date.getDate();
           
      if (dt % random ==0) {
        return [true, "","Available"];
      } else {
        return [false,"","unAvailable"];
      }
    }

});
<link rel="stylesheet" type="text/css" href="http://davidwalsh.name/dw-content/jquery-ui-css/custom-theme/jquery-ui-1.7.2.custom.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<input type='text' id='visit' />


推荐阅读