Ich verwende das jQuery UI Datepicker -Plugin in einer meiner Anwendungen, die mit CodeIgniter. Und es funktioniert gut so, wie ich es erwartet hatte.

Jetzt arbeite ich an einem neuen Formular, in dem ich einen benutzerdefinierten Datumsbereich für das Datumsauswahlfeld benötige, aus dem der Benutzer ein Datum auswählen kann. Wenn der Benutzer zu dem Formular kommt, wird ein Dropdown-Feld für das Jahr angezeigt. Und sobald der Benutzer ein Jahr aus der Dropdown-Liste ausgewählt hat, hängt meine Funktionalität einige neue Felder an das Formular an. Ein Feld ist also Date Applied, ein Textfeld, und dort initialisiere ich den jQuery UI-Datepicker und er zeigt den Datepicker an, wenn sich der Benutzer auf dieses Feld konzentriert.

Das habe ich also bisher getan. Lassen Sie mich nun das Problem erklären. Gemäß der Auswahl des Benutzerjahres vom ersten Schritt an möchte ich die Auswahl Date Applied einschränken. Wenn der Benutzer 2014 ausgewählt hat, möchte ich dem Benutzer erlauben, 1 Oct, 2014 bis 30 Sep, 2015 auszuwählen. Der Bereich month ist also immer 1 Oct - 30 Sep und das Jahr ist selected year - selected year + 1.

Einige weitere Beispiele:

  • 2010 - 1 Oct, 2010 bis 30 Sept, 2011
  • 2015 - 1 Oct, 2015 bis 30 Sept, 2016
  • 2016 - 1 Oct, 2016 bis 30 Sept, 2017

Bitte lassen Sie mich wissen, ob mir jemand beim Einstellen dieses benutzerdefinierten dynamischen Datumsbereichs im jQuery UI-Datumsauswahlprogramm helfen kann.

0
Deepak Biswal 18 Aug. 2015 im 13:40

3 Antworten

Beste Antwort

Ich kann es zum Laufen bringen. Unten finden Sie die Codes, die mein Problem lösen.

var firstYear    = userYear;
var endYear      = userYear + 1;
$( ".addDatePickerTransfer" ).datepicker({
   yearRange: "'" + firstYear + ":" + endYear + "'",
   minDate: new Date(firstYear, 10 - 1, 1),
   maxDate: new Date(endYear, 9 - 1, 30)
});

HINWEIS: userYear ist der Wert, den ich vom vom Benutzer ausgewählten Jahreswert erhalten habe.

0
Deepak Biswal 18 Aug. 2015 im 12:44

Wie in diesem Beispiel setzen Sie beim Datepicker-Abschlussereignis neue minDate und {{X1} } Werte.

$("#to").datepicker({
  onClose: function(selectedDate) {
    $("#from").datepicker("option", "maxDate", selectedDate);
  }
});
0
Justinas 18 Aug. 2015 im 10:59

Sie können den Jahresbereich mithilfe dieser Option gemäß Dokumentation hier festlegen. http://api.jqueryui.com/ datepicker / # option-yearRange

$( ".selector" ).datepicker({
 yearRange: "2002:2012"
 });

oder

$( ".selector" ).datepicker({
 yearRange: "-50:+0"//last 50 year
});
0
Anand Dwivedi 18 Aug. 2015 im 11:15