Tengo la siguiente función que usa una promesa para devolver datos de una llamada ajax asíncrona:
$("#mySelect").on('change', function() { var mySelectValue = $('#mySelect').val(); var promise = getAvailableDates(mySelectValue); promise.done( function(data) { // tested and returning data var array = data; $('#a_date').datepicker({ // this function not working dateFormat: "yy-mm-dd", beforeShowDay: function (date) { var string = jQuery.datepicker.formatDate('yy-mm-dd', date); return [array.indexOf(string) >= 0 ] } }); }); }); ¿Por qué la función $('#a_date').datepicker() no funciona dentro de otra función?
No responde a mi configuración de dateFormat y beforeShowDay según los datos devueltos de mi llamada Ajax.
¿Cómo puedo ajustar la configuración de Datepicker desde dentro de una promesa devuelta?
Debe destroy el primer objeto datetimepicker creado antes de reiniciarlo, mediante la siguiente declaración:
$("#datepicker").datepicker("destroy");ver seguir:
$( function() { $( "#datepicker" ).datepicker({ dateFormat: "yy-mm-dd" }); $("#btn1").click(function(){ $("#datepicker").datepicker("destroy"); $("#datepicker").datepicker({ dateFormat: "dd/mm/yy" }); console.log("Format changed, try to select a new date"); }); } ); <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <p>Date: <input type="text" id="datepicker"></p> <input type="button" id="btn1" value="Change format">