Tengo un campo con un selector de fecha (jQuery) en una página jsp.

muestra (DatePicker)

http://jqueryui.com/demos/datepicker/#icon-trigger

La página también tiene un botón «borrar» de la funcionalidad, que borra todos los campos de texto en una página y el texto insertado en los campos, incluida la fecha elegida desde el selector de fecha.

botón borrar código

<input type="button" name="buttonclear" id="buttonclear" class="buttonstyle_mid" value="Clear"
  onclick="javascript:clearData();" />

javascript clearData() Código (Campo Fecha)

document.getElementById("DateId").value = "";

Código de campo fecha

<form:input id="DateId" path="date" class="dateInput" size="11" maxlength="10" readonly="true" />

jQuery DatePicker Código

 <script type="text/javascript">
        jQuery(function($) {
            $('.dateInput').datePicker();
            });
            $('#DateId').datePicker({
                startDate : '01/01/1970',
                endDate : (new Date()).asString()
            });     
    $('#DateId').bind('dpClosed', function(e, selectedDates) {
                var d = selectedDates[0];
                if (d) {
                    d = new Date(d);
                    $('#DateId1').dpSetStartDate(d.addDays(1).asString());
                }
            });
            $('#DateId1').bind('dpClosed', function(e, selectedDates) {
                var d = selectedDates[0];
                if (d) {
                    d = new Date(d);
                    $('#DateId').dpSetEndDate(d.addDays(-1).asString());
                }
            });
 </script>

Mi código tiene un defecto importante. Si puedo elegir 1 de agosto de 2011 desde el selector de fecha y haga clic en el botón «borrar». El campo de la fecha, se limpia pero no se puede elegir la misma fecha otra vez (que yo.e 1 de agosto de 2011).

Botón borrar sólo borra el valor dentro del campo, pero no Es clara la fecha en la que subyacen DatePicker

Que he buscado en google mucho sobre este tema, pero no podía encontrar una solución adecuada a este problema. Cualquier ayuda sería muy apreciada.

Gracias

  • +1 por el gran trabajo el formato de tu pregunta!
InformationsquelleAutor S Jagdeesh | 2011-08-25

2 Comentarios

  1. 3

    Creo que hay que agregar lo siguiente en su clearData() función:

    $('.dateInput').datepicker( "setDate" , null );

    Este desactiva el valor seleccionado en el selector de fecha. Basta con borrar el campo de texto de valor, como estás haciendo ahora, el selector de fecha, no está siendo actualizado y por lo que se hace fuera de sincronización con el campo de texto de valor.

    • Gracias por la respuesta JJ. Realmente aprecio 🙂 me hizo seguir tu sugerencia. Pero no funcionó. 🙁
    • Oops! Yo tenía .datepicker() en el que hay dos veces… ¿lo has cogido eso? Si no probar la versión revisada de la forma.
    • Hice la captura que :), tratado de las dos maneras. no ha habido suerte 🙁 Corregir si estoy haciendo algo mal aquí. Que me perdonen por mi mala programación. nuevo en jQuery) función clearData() { document.getElementById(«startDate»).valor = «»; $(‘.dateInput’).datePicker(«setDate» , null ); }
    • +1 para su información, @JJ. jQuery selector de fecha podría tener una opción con el botón de la imagen fuera de la caja para borrar el valor…
  2. 0

    Éste lo hizo el truco para mí:
    $(‘.dateInput’).datePicker().dpSetSelected(null,true,false);

Dejar respuesta

Please enter your comment!
Please enter your name here