From cf938e286382cc8f6cb74b3c6f75275073672aeb Mon Sep 17 00:00:00 2001 From: c-lambert <58025159+c-lambert@users.noreply.github.com> Date: Mon, 12 Jul 2021 09:41:41 +0200 Subject: [PATCH] Datepicker: Get selectedDay from data-date instead of element contents This makes datepicker work fine even if translation software modifies texts on the page. Closes gh-1943 --- ui/widgets/datepicker.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/widgets/datepicker.js b/ui/widgets/datepicker.js index 7dbcf3de7..9ca29a0db 100644 --- a/ui/widgets/datepicker.js +++ b/ui/widgets/datepicker.js @@ -1080,7 +1080,7 @@ $.extend( Datepicker.prototype, { } inst = this._getInst( target[ 0 ] ); - inst.selectedDay = inst.currentDay = $( "a", td ).html(); + inst.selectedDay = inst.currentDay = parseInt( $( "a", td ).attr( "data-date" ) ); inst.selectedMonth = inst.currentMonth = month; inst.selectedYear = inst.currentYear = year; this._selectDate( id, this._formatDate( inst, @@ -1932,6 +1932,7 @@ $.extend( Datepicker.prototype, { ( printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "" ) + // highlight selected day ( otherMonth ? " ui-priority-secondary" : "" ) + // distinguish dates from other months "' href='#' aria-current='" + ( printDate.getTime() === currentDate.getTime() ? "true" : "false" ) + // mark date as selected for screen reader + "' data-date='" + printDate.getDate() + // store date as data "'>" + printDate.getDate() + "" ) ) + ""; // display selectable date printDate.setDate( printDate.getDate() + 1 ); printDate = this._daylightSavingAdjust( printDate );