necesito cambiar mi fecha de formato en el selector de fecha de "25/12/2022" (por ejemplo) en "25/diciembre/2022"
aquí está mi código:
$(".date-picker").datepicker({ format: 'dd-mm-yyyy', minDate: 0, numberOfMonths: \[3,1\], beforeShowDay: function(date) { var date1 = $.datepicker.parseDate($.datepicker.\_defaults.dateFormat, $("#input1").val()); var date2 = $.datepicker.parseDate($.datepicker.\_defaults.dateFormat, $("#input2").val()); return \[true, date1 && ((date.getTime() == date1.getTime()) || (date2 && date \>= date1 && date \<= date2)) ? "dp-highlight" : ""\]; }, onSelect: function(dateText, inst) { var date1 = $.datepicker.parseDate($.datepicker.\_defaults.dateFormat, $("#input1").val()); var date2 = $.datepicker.parseDate($.datepicker.\_defaults.dateFormat, $("#input2").val()); var selectedDate = $.datepicker.parseDate($.datepicker.\_defaults.dateFormat, dateText); if (!date1 || date2) { $("#input1").val(dateText); $("#input2").val(""); $(this).datepicker(); } else if( selectedDate < date1 ) { $("#input2").val( $("#input1").val() ); $("#input1").val( dateText ); $(this).datepicker(); } else { $("#input2").val(dateText); $(this).datepicker(); } } });Considera lo siguiente.
$(function() { var dFormat = 'dd/MM/yy'; $(".date-picker").datepicker({ dateFormat: dFormat, minDate: 0, numberOfMonths: [3, 1], beforeShowDay: function(date) { var date1 = $.datepicker.parseDate(dFormat, $("#input-1").val()); var date2 = $.datepicker.parseDate(dFormat, $("#input-2").val()); var result = [true, ""]; if (date1 && (date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) { result[1] = "ui-state-highlight"; } return result; }, onSelect: function(dateText) { var date1 = $("#input-1").datepicker("getDate"); var date2 = $("#input-2").datepicker("getDate"); var selectedDate = $.datepicker.parseDate(dFormat, dateText); if (!date1 || date2) { $("#input-1").datepicker("setDate", dateText); } else if (selectedDate < date1) { $("#input-2").datepicker("setDate", $("#input1").datepicker("getDate")); $("#input-1").datepicker("setDate", dateText); } else { $("#input-2").datepicker("setDate", dateText); } } }); }); <link rel="stylesheet" href="//code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/jquery-3.6.0.js"></script> <script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js"></script> <p>Start: <input type="text" id="input-1" class="date-picker" value="25/March/2022"> End: <input type="text" id="input-2" class="date-picker" value="31/March/2022"></p> La lógica en onSelect no está clara. Traté de limpiarlo, pero no puedo determinar qué estabas tratando de lograr.
Para dateFormat de fecha, use dd/MM/yy . Desglose:
Detalles: https://api.jqueryui.com/datepicker/#utility-formatDate