Tengo un Panel con campo de fecha de entrada al hacer clic en, aparecerá el selector de fecha y con otro clic se ocultará

                <div class="col-xs-3">
                    <input id="datepicker" wicket:id="issueDate" type="text" placeholder="TT.MM.JJJJ" style="width: 90px;">
                </div>
                <div class="col-md-1 showCalendar" onclick="openCalendar()">
                    <i class="p24 p24-inverse p24-inverse-bg p24-calendar icon"></i>
                </div>

El evento click funciona en jquery así:

      function openCalendar() {
        let $input = $('#datepicker');
        let datepicker = $input.datepicker().data('datepicker');
        if ($('.modal-dialog').length > 0) {
            let $modalInput = $('.modal-dialog').find('input').first();
            let modalDatePicker = $('.modal-dialog').find('#datepicker').first();
            $modalInput.datepicker({dateFormat: 'dd.mm.yy'}).data('datepicker').show();
        } else {
            datepicker.show();
            $input.focus();
        }
    }

El problema es que estoy usando un diálogo modal con el mismo Panel, pero tan pronto como intento cambiar la fecha en el mismo campo de entrada en la interfaz de usuario, muestra la fecha en el formato incorrecto como este: 20/10/2020

Pero si hago lo mismo en el campo de fecha de entrada que no está en el diálogo modal, todo funciona bien con el formato de fecha correcto: 20.10.2020

Intenté establecer un formato de fecha en jquery '.datepicker({dateFormat: 'dd.mm.yy'})' pero no ayudó

0
LDropl 20 oct. 2020 a las 16:15

1 respuesta

La mejor respuesta

Parece que tiene dos elementos HTML con id datepicker.

 let $input = $('#datepicker');

Y

 $('.modal-dialog').find('#datepicker')

Este código HTML no es válido y puede provocar un comportamiento inesperado. ¡Sé más creativo y dales nombres diferentes! ;-)

1
martin-g 20 oct. 2020 a las 19:24