Frage

Wie kann ich das gewählte Datum von jquery Datumsauswahl ändern sich dynamisch on the fly? Ich habe sagen, eine Inline-Datumsauswahl erstellt. Dann, nach einiger Zeit, ich möchte ein anderes Datum widerzuspiegeln, ohne die Datepicker von Grund auf neu zu erstellen.

ich die setDate Methode versucht, aber hat nicht funktioniert, und es gibt nicht viel Dokumentation in der doc .

Es gibt einen anderen (erweitert?) Plugin hier , aber ich möchte verwenden, das Plugin, das mit jquery.ui.all.js ausgeliefert wird.

War es hilfreich?

Lösung

Welche Version von jQuery-UI verwenden Sie? Ich habe folgendes mit 1.6r6 getestet, 1.7 und 1.7.1 und es funktioniert:

//Set DatePicker to October 3, 2008
$('#dateselector').datepicker("setDate", new Date(2008,9,03) );

Andere Tipps

Überprüfen Sie, ob das Datum, das Sie es liegt innerhalb des zulässigen Zeitraums, wenn die minDate oder MaxDate Optionen werden eingestellt versuchen.

Dieses Beispiel zeigt, wie Standardwert in dem Drop-Down-Kalender und den Wert in dem Textfeld zu verwenden. Es zeigt auch, wie Standardwert zum vorherigen Datum einzustellen.

selectedDate ist eine weitere Variable, die aktuell ausgewählte Datum des Kalendersteuer

hält
    var date = new Date();
    date.setDate(date.getDate() - 1);

    $("#datepicker").datepicker({
        dateFormat: "yy-mm-dd",
        defaultDate: date,
        onSelect: function () {
            selectedDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate'));
        }
    });

    $("#datepicker").datepicker("setDate", date);

Aus irgendeinem Grund, in einigen Fällen konnte ich die setDate Arbeit machen.

Eine Abhilfe, die ich gefunden ist, einfach den Wert Attribut der gegebenen Eingabe zu aktualisieren. Natürlich ist der picker selbst nicht aktualisiert wird, aber wenn das, was Sie sehen nur ist das Datum angezeigt, es funktioniert gut.

var date = new Date(2008,9,3);
$("#your-input").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear());
// Will display 9/3/2008 in your #your-input input
$('.date-pick').datePicker().val(new Date()).trigger('change')

schließlich, dass das, was ich in den letzten paar Stunden sehen! Ich brauche Änderungen zu initiieren, nicht nur Gründungsdatum in Textfeld!

setDate scheint nur ein Problem mit einem Inline-Datepicker in jQuery UI verwendet werden, die spezifische Fehler ist InternalError. Zu viel Rekursion

Dies funktioniert für mich:

$("#dateselector").datepicker("option", "defaultDate", new Date(2008,9,3));

Dies ist ein alter Thread, aber ich möchte nur einige Informationen geben, wie ich verwendet habe. Wenn Sie heute Datum einstellen möchten, können Sie einfach anwenden wie unten.

 $("#datepickerid").datepicker("setDate", "0");

Wenn Sie vor ein paar Tagen setzen / nach dem aktuellen Datum dann das Symbol Symbol -/+ verwenden, wie viele Tage Sie wollen wie unten.

 $("#datepickerid").datepicker("setDate", "-7");
 $("#datepickerid").datepicker("setDate", "+5");

hatte ich eine Menge Ärger mit der setDate Methode. scheint nur in v1 zu arbeiten. Was scheint aber zu funktionieren wird, um die dpSetSelected Methode:

    $("#dateselector").dpSetSelected(new Date(2010, 0, 26).asString());

viel Glück!

In HTML können Sie Ihre Eingabefeld mit Datumsauswahl wie folgt hinzufügen

<input class="form-control date-picker fromDates" id="myDate" type="text">

und dann in Java-Skript, Ihre picker initialisieren und Ihren Wert für das Datum wie folgt festgelegt,

$('.fromDates').datepicker({
                maxDate: '0',
                dateFormat: "dd/mm/yy",
                changeYear: true,
                changeMonth: true,
                yearRange: "-100:+0"
            });

var myDateVal = moment('${value}').format('DD/MM/YYYY');
$('#myDate').datepicker().datepicker('setDate', myDateVal );

(Im hier from Attribut zeigt die vorherigen Daten des aktuellen Datums)

oder Sie können einfach haben

$('.date-pick').datePicker().val(new Date()).trigger('change')
scroll top