Me gustaría agregar un control "Restablecer" al selector de fecha en la parte inferior del calendario, donde va el control "cerrar". Esto permitiría al usuario restablecer la entrada vinculada al selector de fecha en blanco (sin fecha).
No puedo averiguar cómo escribir la función de vinculación, específicamente, ¿cómo obtengo el elemento vinculado al control?
if (this.displayClear) { $pop.append( $('<a href="#" id="dp-clear">' + $.dpText.TEXT_CLEAR + '</a>') .bind( 'click', function() { c.clearSelected(); //help! reset the value to '': $(this.something).val('') c._closeCalendar(); } ) ); }Aquí está la solución de trabajo, simplemente llame a cleanDatepicker() antes de cualquier llamada a datepicker.
function cleanDatepicker() { var old_fn = $.datepicker._updateDatepicker; $.datepicker._updateDatepicker = function(inst) { old_fn.call(this, inst); var buttonPane = $(this).datepicker("widget").find(".ui-datepicker-buttonpane"); $("<button type='button' class='ui-datepicker-clean ui-state-default ui-priority-primary ui-corner-all'>Delete</button>").appendTo(buttonPane).click(function(ev) { $.datepicker._clearDate(inst.input); }) ; } }Encontré una mejor solución:
$(document).ready(function () { $(".datepicker").datepicker({ showOn: 'focus', showButtonPanel: true, closeText: 'Clear', // Text to show for "close" button onClose: function () { var event = arguments.callee.caller.caller.arguments[0]; // If "Clear" gets clicked, then really clear it if ($(event.delegateTarget).hasClass('ui-datepicker-close')) { $(this).val(''); } } }); });Esto agregará el botón Borrar en Jquery Calendar que borrará la fecha.
$("#txtDOJ").datepicker({ showButtonPanel: true, closeText: 'Clear', onClose: function (dateText, inst) { if ($(window.event.srcElement).hasClass('ui-datepicker-close')) { document.getElementById(this.id).value = ''; } } });