Jquery 用于多站点的重力表单开始和结束日期选择器

Jquery 用于多站点的重力表单开始和结束日期选择器,jquery,wordpress,gravity-forms-plugin,Jquery,Wordpress,Gravity Forms Plugin,我遇到了这样一个网站,它让我达到了99%的目标,但我在一个有一个主题的多站点环境中使用它,并且在其他6个站点上部署该主题 您可以使用日期字段(到达时间和离开时间),您可以看到它工作得很好。然而 我想在多站点网络中的多个站点上部署此功能,但在这样做时,我需要考虑这样一个事实,即考虑到每个站点上表单的变化,字段ID可能因站点而异。我在阅读JS方面还行,所以我可以看到这里发生了什么,但我不知道如何编写条件,以便检查站点ID/URL并相应地调整#input_1_1标记。。。这可能吗?如果是的话,它会是什

我遇到了这样一个网站,它让我达到了99%的目标,但我在一个有一个主题的多站点环境中使用它,并且在其他6个站点上部署该主题

您可以使用日期字段(到达时间和离开时间),您可以看到它工作得很好。然而

我想在多站点网络中的多个站点上部署此功能,但在这样做时,我需要考虑这样一个事实,即考虑到每个站点上表单的变化,字段ID可能因站点而异。我在阅读JS方面还行,所以我可以看到这里发生了什么,但我不知道如何编写条件,以便检查站点ID/URL并相应地调整#input_1_1标记。。。这可能吗?如果是的话,它会是什么样子

这是我正在使用的代码

jQuery(document).bind('gform_post_render', function() {
// destroy default Gravity Form datepicker
jQuery("#input_1_6").datepicker('destroy');
// create new custom datepicker
jQuery('#input_1_6').datepicker({
    minDate: 1,
    defaultDate: 0,
    dateFormat: "d/mm/yy",
    changeMonth: true,
    changeYear: true,
    onClose: function(dateText, inst) {
        var d = jQuery.datepicker.parseDate(inst.settings.dateFormat, dateText);
        d.setDate(d.getDate() + 1);
        jQuery('#input_1_43').val(jQuery.datepicker.formatDate(inst.settings.dateFormat, d));
        jQuery('#input_1_43').datepicker('option', {
            minDate: jQuery.datepicker.formatDate(inst.settings.dateFormat, d)
        });
    }
});
// destroy default Gravity Form datepicker
jQuery('#input_1_43').datepicker('destroy');
jQuery('#input_1_43').datepicker({
    minDate: "d",
    defaultDate: "d",
    dateFormat: "dd/mm/yy",
    changeMonth: true,
    changeYear: false,
});
}


如果您能提供任何建议,我们将不胜感激,谢谢

一种方法是在开始和结束日期字段上使用CSS类名设置。因此,开始日期字段的类为“dee start date”,结束日期字段的类为“dee end date”。然后可以将jQuery选择器更改为:

jQuery("#input_1_6")
…将成为:

jQuery(".dee-start-date input")
截止日期:

jQuery("#input_1_43")
…将成为:

jQuery(".dee-end-date input")

这只会使代码更加通用,并允许您从GF管理员而不是代码本身管理它应用于哪些字段。

谢谢David,我将尝试一下并玩一玩!!