如何将多个datepicker参数合并为单个Gravity Forms脚本
合并后可同时实现两个需求的完整脚本
你可以直接替换掉之前的两段脚本使用:
<script> gform.addFilter( 'gform_datepicker_options_pre_init', function( optionsObj, formId, fieldId ) { if ( formId == 3 && fieldId == 7 ) { optionsObj.firstDay = 1; // 可自行修改此处的禁选日期列表,格式保持mm/dd/yyyy即可 var disabledDays = ['09/15/2021', '09/16/2021', '09/17/2021']; optionsObj.beforeShowDay = function(date) { // 优先判断是否为周末 var isWeekend = jQuery.datepicker.noWeekends(date); if(!isWeekend[0]) return isWeekend; // 非周末再判断是否在自定义禁选列表中 var formattedDate = jQuery.datepicker.formatDate('mm/dd/yy', date); return [disabledDays.indexOf(formattedDate) === -1]; }; } return optionsObj; }); </script>
逻辑说明
之前两段脚本无法同时生效,是因为两段脚本都对同一个beforeShowDay参数赋值,后加载的脚本会直接覆盖前一段的逻辑,把两个校验规则合并到同一个处理函数里就可以同时生效。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

