多重表格的重力形式开始和结束日期选择器

时间:2015-01-02 07:05:10

标签: jquery wordpress gravity-forms-plugin

我遇到了this question/answer,它让我占据了我想要的99%,但我在一个主题的多站点环境中使用它,并在其他6个站点部署该主题。

你可以see the published form here使用日期字段(到达和离开时间),你可以看到它正常工作。然而...

我想在多站点网络中的多个站点上部署它,但是这样做我需要考虑到这样一个事实,即考虑到每个站点上表单的变化,字段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,
});

}

非常感谢您提供的任何建议,谢谢!

1 个答案:

答案 0 :(得分:0)

一种方法是在开始日期和结束日期字段中使用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管理员应用的字段而不是代码本身。