如何在Datepicker中禁用特定日期? (重力形式)

时间:2017-03-16 14:28:26

标签: javascript jquery wordpress datepicker

我在WordPress上使用Gravity Forms插件,其中包含jQuery的datepicker。在我的一个表单中,我定义了一个minDate和一个maxDate,但是在这个日期数组中,我需要禁用一个特定日期(即4月23日星期日)。

我找到了使用noWeekend功能禁用整个周末的方法,但问题是:我需要保持星期六22的可用性!

这是我现在正在使用的代码:

<script type="text/javascript">
gform.addFilter( 'gform_datepicker_options_pre_init', function( optionsObj, formId, fieldId ) {
    if ( formId == 2 && fieldId == 4 ) {
    optionsObj.minDate = '17/04/2017';
    optionsObj.maxDate = '29/04/2017';
}

return optionsObj;
} );
</script>

知道我可以添加什么才能让23/04/2017残疾人作为选择吗?

感谢您即将到来的帮助人员!

2 个答案:

答案 0 :(得分:0)

我相信你正在寻找类似的东西。注意beforeShowDay&#39;过滤器&#39;函数,对于日历中显示的每个日期,处理布尔值为true或false以将其显示为可用或不可用。我已经使用了一个数组来查看您将要检查的日期,以防您将来需要测试多个日期。

gform.addFilter( 'gform_datepicker_options_pre_init', function( optionsObj, formId, fieldId ) {
    if ( formId == 2 && fieldId == 4 ) {
      optionsObj.minDate = '17/04/2017';
      optionsObj.maxDate = '29/04/2017';

      optionsObj.beforeShowDay: function(date){
        var array = ["2017-04-23"];
        var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
        return [ array.indexOf(string) == -1 ];
      }
    }

return optionsObj;
} );

答案 1 :(得分:-1)

用于删除周末。

jQuery(document).ready(function(){
gform.addFilter( 'gform_datepicker_options_pre_init', function( optionsObj, formId, fieldId ) {
  if ( (formId == 2 && fieldId == 4)) {
        optionsObj.firstDay = 1;
        optionsObj.minDate = 0;
        optionsObj.beforeShowDay = jQuery.datepicker.noWeekends;
        optionsObj.changeMonth = false;
        optionsObj.changeYear = false; 
  }
  return optionsObj;
  
 });
});