wake-up-neo.com

jQuery UI datepicker - Der Versuch, ein Klickereignis vom angeklickten Datum zu erfassen

An meinem Arbeitsplatz verwenden wir die Jquery-Benutzeroberfläche 1.8.23.

Wie kann ich das in datepicker angeklickte Datum erfassen, um das aktuelle Datum in einen Datumsstempel zu formatieren und diesen Wert in ein ausgeblendetes Formularfeld zu übergeben?

Hier ist ein Code, den ich versucht habe zu arbeiten:

$('.ui-state-default').live('click', function(){
    console.log('date clicked');
    var currentdate = $(this).text();
    var d = currentdate;
    var m = monthFormat($('.ui-datepicker-month').text());
    var y = $('.ui-datepicker-year').text();
    $('a.ui-state-default').removeClass('ui-state-highlight');
    $(this).addClass('ui-state-highlight');

    if (currentdate.length < 2) {
    d = "0" + currentdate;
    }
    var datestamp = y + "-" + m + "-" + d;
    console.log(datestamp);
    $('#dateHidden').val(datestamp);
});

Vielen Dank für den Blick auf meinen Code. Ich freue mich über jede Hilfe, die Sie anbieten können.

8
James Pickering

Sie müssen nichts tun, um das Datum zu formatieren. Das Widget DatePicker erledigt das für Sie ..__ Verwenden Sie einfach die Eigenschaften altField und altFormat:

$("#myDatePicker").datepicker({
    // The hidden field to receive the date
    altField: "#dateHidden",
    // The format you want
    altFormat: "yy-mm-dd",
    // The format the user actually sees
    dateFormat: "dd/mm/yy",
    onSelect: function (date) {
        // Your CSS changes, just in case you still need them
        $('a.ui-state-default').removeClass('ui-state-highlight');
        $(this).addClass('ui-state-highlight');
    }
});

Dokumentation:

http://api.jqueryui.com/datepicker/#option-altField

http://api.jqueryui.com/datepicker/#option-altFormat

Demonstration:

http://jsfiddle.net/sFBn2/10/

16
melancia

jQuery Datepicker gibt die Option Formatierungsdatum an. Warum nutzt du das nicht?

$('element').datepicker({ dateFormat: 'dd-mm-yy' });

Sie benötigen auch keine separate Methode, um das Klickereignis zu erfassen. Sie sind die Standardmethode onSelect.

$('input').datepicker({
 dateFormat: 'yy-mm-dd',
    onSelect: function (date) {
    //defined your own method here
    alert(date);
    }
})

Überprüfen Sie dies JSFiddle

1
Praveen
$('#calendar').datepicker({
        inline: true,
        firstDay: 1,
        changeMonth: false,
        changeYear: true,
        showOtherMonths: true,
        showMonthAfterYear: false,
        yearRange: "2015:2025",      
        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        dateFormat: "yy-mm-dd",
        onSelect: function (date) {
            alert(date);
        }
    });
1
PSN-RaffyBoy81

Ihr Datepicker hört das an.

siehe onSelect () - Funktion

Wird aufgerufen, wenn der Datumsauswahl ausgewählt ist. Die Funktion erhält das ausgewählte Datum als Text und die Datepicker-Instanz als Parameter. Dies bezieht sich auf das zugehörige Eingabefeld.

$('.date-pick').datepicker( {
    onSelect: function(date) {
        //play with date here
    },
----
----
---
0
Suresh Atta