jQuery, wie gespalten das heutige Datum von Eingang in Monat, Tag, Jahr, wenn datepicker NICHT verwendet
Ich habe einen datepicker-input, der gefüllt ist mit dem heutigen Datum, wenn die Seite geladen wird. Wenn datepicker verwendet wird, das Datum ist aufgeteilt in Tag, Monat und Jahr und in drei versteckte Felder, die gesendet werden, auf dem Server mit dem post-Daten. Das problem kommt, wenn der Benutzer entscheidet, das heutige Datum ist in Ordnung und nicht der datepicker; wie bekomme ich das Datum Stücke, in denen sich die drei versteckten Feldern?
Ich versuchte Ausbruch aus dem heutigen Datum in Stücke schneiden und hinzufügen, um die Felder, aber jede Weise, die ich habe versucht, fügen Sie es in jQuery oder mit reinen JavaScript-bricht die ganze Sache. Hier ist der funktionierende code, ich würde gerne bauen können:
jQuery
$(function() {
//set your date picker
$("#CI").datepicker({
dateFormat: 'mm/dd/yy',
changeMonth: true,
changeYear: true,
showOn: "both",
buttonImage: "css/images/calendar-green.gif",
buttonImageOnly: true,
buttonImageText: "Calendar",
beforeShow: function(dateText, instance) {
$("#CI").datepicker('setDate', new Date());
},
onSelect: function(dateText, instance) {
var pieces = dateText.split("/");
$("#CID").val(pieces[0]);
$("#CIM").val(pieces[1]);
$("#CIY").val(pieces[2]);
}
})
//get the current date
var todaysDate = new Date();
//format the date in the right format (add 1 to month because JavaScript counts from 0)
formatDate = (todaysDate.getMonth() + 1) + '/' +
todaysDate.getDate() + '/' +
todaysDate.getFullYear();
//set the input value
$('#CI').val(formatDate);
});
HTML
<input type='text' id='CI' name="CI">
<input type="text" name="CID" id="CID" />
<input type="text" name="CIM" id="CIM" />
<input type="text" name="CIY" id="CIY" />
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gespalten, Ihre
onSelect()
Funktionalität in eine separate Funktion, die können Sie zweimal aufgerufen werden.Haben die gleiche Funktion, die die Durchführung beider Aufgaben, die es Ihnen ermöglicht, sich mit den änderungen an der Funktionalität oder HTML-Struktur.
so...
.keyup()
event auf die textbox. Dies bedeutet, dass, obwohl, benötigen Sie einige Validierung, bevor Sie den AnrufpopulateHidden()
.Verwenden Sie den folgenden code: