Hi,
ich hoffe es kann mir einer helfen.
Ich habe hier ein Textausgabe für den Datepicker, die nicht formatiert wird.
Ausgegeben wird als Datum nur folgendes Format: "Wed Nov 15 2023 00:00:00 GMT+0100 (Mitteleuropäische Normalzeit)".
Ich vermute die Änderung müsste in der Zeile "$('#{$field->getValueID()}').val(e.dates);" vogenommen werden. Also e.dates erstezen mit e.format(0,'DD dd.mm.yyyy') oder ähnliches. Funktioniert aber nicht ganz.
Vielleicht kennt sich hier ein Experte aus und könnte mir freundlicherweise behilflich sein.
ich hoffe es kann mir einer helfen.
Ich habe hier ein Textausgabe für den Datepicker, die nicht formatiert wird.
Ausgegeben wird als Datum nur folgendes Format: "Wed Nov 15 2023 00:00:00 GMT+0100 (Mitteleuropäische Normalzeit)".
Ich vermute die Änderung müsste in der Zeile "$('#{$field->getValueID()}').val(e.dates);" vogenommen werden. Also e.dates erstezen mit e.format(0,'DD dd.mm.yyyy') oder ähnliches. Funktioniert aber nicht ganz.
Vielleicht kennt sich hier ein Experte aus und könnte mir freundlicherweise behilflich sein.
PHP:
<div class="row">
<div class="col-12 col-sm-12">
<div class="datepicker-custom"></div>
<input class="form-control" type="textarea" name="{$field->getValueID()}" value="" id="{$field->getValueID()}" readonly {if $field->isRequired()}required{/if} />
</div>
</div>
PHP:
let badge = $('<span class="badge badge-primary float-right"></span>').appendTo( $('.datepicker-custom').closest('.card').find('.card-header') );
$(window).on('load', function() {
$('.datepicker-custom').datepicker({
format: 'mm.dd.yyyy',
calendarWeeks: true,
multidate: true,
startDate: setDates[0],
language: 'de',
updateViewDate: true,
datesDisabled: disableSpecificDays,
daysOfWeekDisabled: daysOfWeekDisabled,
clearBtn: true,
todayHighlight: false,
step: 5,
multidate: 5,
closeOnDateSelect: true
}).show();
$('.datepicker-custom').datepicker('setDates', setDates);
});
$('.datepicker-custom').on('changeDate', function(e) {
$('#{$field->getValueID()}').val(e.dates); // <====================================
if(e.dates.length == 0)
return;
const oldest = e.dates.reduce(function (pre, cur) {
return Date.parse(pre) < Date.parse(cur) ? cur : pre;
});
let daysBetweenFunc = function (startDate, endDate) {
let count = 0;
const curDate = new Date(startDate);
while (curDate < endDate) {
const dayOfWeek = curDate.getDay();
if (!daysOfWeekDisabled.includes(dayOfWeek)) count++;
curDate.setDate(curDate.getDate() + 1);
}
return count;
};
let daysBetween = daysBetweenFunc(setDates[0], oldest);
if(daysBetween >= setDates.length) daysBetween = setDates.length -1;
// Add TimezoneOffset
e.dates.forEach(function(part, index, theArray) {
theArray[index] = new Date(part).toLocaleString('de-DE');
});
ioCall_xv_checkout_leergut_fields('{$field->getValueID()}', e.dates, price[ daysBetween ]);
$(badge).html('+'+price[ daysBetween ]+' EUR');
});