Start-und Enddatum mit Datepicker jQuery und Schwerkraft Formen
Ich habe ein Formular mit Gravity Forms WordPress ist, wird diese form hat 2 datepickers: Check-in-Datum und Check-out-Datum, aber ich möchte, dass wenn der Kunde wählt ein Datum in der check-in-Datum, wird automatisch das check-out-Datum-updates mit einem Tag nach dem check-in Datum, also, das ist, was ich getan habe, ohne Ergebnis:
Zuerst habe ich eine Funktion in meinem functions.php
aus meinem Thema:
/**
* 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' );
Dann habe ich einen Ordner erstellt in meinem Thema genannt /js
und auch ich habe eine Datei namens my-js.js
, in dem ich diesen code:
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);
}
});
});
Aber das problem ist, dass es keine Wirkung in meinem datepickers, ändert sich nichts, keine Ahnung warum das passiert ist?
Es gibt eine andere seltsame Sache, wenn die Schwerkraft Formen haben diese Datei: datepicker.js
und wenn ich alles gelöscht, nichts verändert, oder wenn die Veränderung einen gewissen Wert, auch gibt es keine änderungen. dies ist der code in der Datei:
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');
}
);
}
- könnte sein das andere datepicker-code ausgeführt wird, die nach Ihnen
- also, wie kann ich sicherstellen, dass über das?, es gibt eine Datei in der gravity forms plugin wo andere code ist für alle datepickers
- schau in den Quelltext der Seite und sehen, ob es wahr ersten. Vielleicht braucht es auch
destroy
Methode vor dem deklarieren von neuen Einstellungen. Oder geben Sie einfach neue Möglichkeiten in und nicht zu initialisieren, wenn Sie bereits initialisiert - Können Sie mir ein Beispiel, wie die destroy-Methode?
$('#input_7_1').datepicker('destroy');
- Ist der datepicker aufspringen? Stellen Sie sicher, dass der enqueue-und ui-datepicker als gut.
wp_enqueue_script( 'jquery-ui-datepicker' );
wp_enqueue_style('jquery-ui-css', '//ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/themes/smoothness/jquery-ui.css');
- Ja, und auch im mit den datepicker in einer modal box
- ich habe die änderung mit dem code, und auch die destroy-Funktion, aber es ändert sich nichts.
- Es gibt eine andere seltsame Sache, wenn die Schwerkraft Formen haben diese Datei:
datepicker.js
- Bitte markieren Sie eine Antwort als richtig anstatt
Solved
um den Titel. Überprüfen Sie die Website tour.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht wollen, zu viel Aufhebens mit code, ich schrieb ein plugin, behandeln Sie dies innerhalb der Gravity Forms UI.
http://gravitywiz.com/how-to-restrict-dates-in-second-date-field-based-on-date-selected-in-first-date-field-with-gravity-forms/
Merke ich, das ist ein ziemlich Alter Beitrag, aber für diejenigen, die stolpern das gleiche Problem, das Problem der nicht erforderlich ist, eine so komplexe Lösung - alles, was fehlte, war die "refresh:
Kann man es mit setDate finden Sie in diesem Fiddle.
my-js.js
.dachte ich am Ende, und ich möchte die Lösung:
Ich aus irgendeinem Grund nicht in der Lage den code zu verwenden, in der Art, wie ich versuchte, damit Sie den code in functions.php von meinem theme in wordpress nicht funktioniert, aber ich habe versucht, mit einem anderen code einfügen dieser auf meine page.php von meinem Thema, und es funktionierte, auch ich hatte zu ändern, jedes "$" zu "jQuery", so der code war so, das ist der code, den ich verwendet:
Hoffe, dies hilft jemand anderem versuchen, etwas zu ändern, aus dem jquery datepicker der Schwerkraft bildet.
Beste Grüße
Dein code funktioniert und ich verwende es auf meiner website, aber ich hatte ein Problem, dass ich einen Weg gefunden um es zu beheben.
War das problem, dass beim Klick auf das input-Feld das erste mal, das datepicker zeigt sich nur in Ordnung. Aber wenn Sie nicht wählen Sie ein Datum und klicken Sie irgendwo auf die Seite, die Sie beim klicken auf das Eingabefeld wieder der datepicker nicht mehr. Die Lösung für die Veränderung der onClose event zu onSelect. Ich bin ein noob, also ich weiß nicht, was das Problem verursacht aber ich habe es jetzt funktioniert.