我在WordPress中有一個Gravity Forms的表單,這個表單有2個日期選擇器:入住日期和結帳日期,但我希望當客戶選擇日期入住日期自動退房日期在入住日期後一天更新,所以,這是我所做的沒有結果:帶日期選擇器jQuery和重力形式的開始日期和結束日期
首先我在我的主題中添加了一個函數functions.php
:
/**
* Gravity Forms Datepicker Changes
*/
function my_scripts_method() {
wp_register_script('my-js-file',
get_template_directory_uri() . '/js/my-js.js',
array('jquery'),
'1.0',
false);
wp_enqueue_script('my-js-file');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
然後我在主題名爲/js
創建的文件夾,也是我創建了一個名爲my-js.js
文件,其中我有這樣的代碼:
jQuery.noConflict();
jQuery(document).ready(function ($)) {
$('#input_7_1').datepicker({
changeMonth: true,
onSelect: function (selectedDate) {
$('#input_7_5').datepicker('option', 'minDate', selectedDate);
}
});
$('#input_7_5').datepicker({
changeMonth: true,
onSelect: function (selectedDate) {
$('#input_7_1').datepicker('option', 'maxDate', selectedDate);
}
});
});
但問題是,有我在datepickers沒有效果,沒有什麼變化,任何想法,爲什麼會出現這種情況?
還有另一個奇怪的事情,如果重力形式有這個文件:datepicker.js
,如果我刪除了那裏的一切,沒有什麼改變,或者如果改變一些值,也沒有改變。這是該文件中的代碼:
jQuery(document).ready(gformInitDatepicker);
function gformInitDatepicker(){
jQuery('.datepicker').each(
function(){
var element = jQuery(this);
var format = "mm/dd/yy";
if(element.hasClass("mdy"))
format = "mm/dd/yy";
else if(element.hasClass("dmy"))
format = "dd/mm/yy";
else if(element.hasClass("dmy_dash"))
format = "dd-mm-yy";
else if(element.hasClass("dmy_dot"))
format = "dd.mm.yy";
else if(element.hasClass("ymd_slash"))
format = "yy/mm/dd";
else if(element.hasClass("ymd_dash"))
format = "yy-mm-dd";
else if(element.hasClass("ymd_dot"))
format = "yy.mm.dd";
var image = "";
var showOn = "focus";
if(element.hasClass("datepicker_with_icon")){
showOn = "both";
image = jQuery('#gforms_calendar_icon_' + this.id).val();
}
element.datepicker({ yearRange: '-100:+20', minDate: +10, maxDate: "+24M +30D", showOn: showOn, buttonImage: image, buttonImageOnly: true, dateFormat: format, changeMonth: false, changeYear: false, showAnim: 'slideDown', duration: 'slow' }).attr('readonly','readonly');
}
);
}
可能是其他日期選擇器代碼運行後,你的 – charlietfl
這樣,我怎麼能保證這個?有重力文件的形式,而其他代碼應用於所有datepickers在 – GTCR
看看插件頁面源代碼,看看它是否是真的。在聲明新的設置之前,可能還需要使用'destroy'方法。或者只是傳遞新的選項,如果它們已經初始化,就不要初始化它們 – charlietfl