我遇到了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,
});
}
非常感谢您提供的任何建议,谢谢!
答案 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管理员应用的字段而不是代码本身。