如何在datepicker中选择偶数或奇数日期时禁用所有偶数日期或奇数日期?

时间:2015-11-17 00:01:10

标签: jquery-ui jquery-ui-datepicker

如何实现以下目标:如果所选月份具有奇数天数,则偶数天数将被禁用,相反,奇数天数将被禁用。

enter image description here

1 个答案:

答案 0 :(得分:8)

您可以使用以下技术进行上述操作。如果你需要相反的情况,那么只需翻转禁用标志然后完成它。以下代码可以直接在您的应用程序中使用。

    $(function() {
      $("#datepicker").datepicker({
        defaultDate: new Date(),
            beforeShowDay: function(date) {
              var disabled = true, // enabled default day
                // total days of current month
                numOfDays = new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();
                    if (numOfDays % 2 == 0) {
                        disabled = (date.getDate() % 2 == 0) //so for even days months, disable the odd days
                    } else {
                        disabled = (date.getDate() % 2 != 0) //so for odd days months, disable the even days
                    }
                    return [disabled, ""]
            }
        });
    });
 
<link href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet" />
<p>Date:
  <input type="text" id="datepicker" />
</p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>