jquery - example - deshabilitar dias datepicker
jQuery UI Datepicker-Deshabilitar días específicos (6)
¿Has intentado declarar natDays correctamente con la palabra clave ''var'' al frente?
Además, tiene una coma adicional al final de su definición de NatDays.
natDays [i] [2] no funcionará ya que las matrices solo tienen 2 elementos en ellas: prueba solo ''''
Además, querrá establecer su nombre de función beforeShowDay correctamente, no parece que llame siquiera a su función personalizada.
¿Hay alguna manera (fácil) de configurar el jQuery UI Datepicker para que no permita la selección de días específicos y predeterminados?
Logré que este enfoque funcionara, sin embargo, produce un error nulo que impide que se muestre en IE.
''natDays [...]. 0'' es nulo o no es un objeto
¡Gracias por adelantado!
ACTUALIZACIÓN: Podría ayudar si incluí algún código, ¿verdad? De todos modos, la mayor parte de esto fue tomada directamente del hilo antes mencionado:
natDays = [
[7, 23], [7, 24], [8, 13], [8, 14],
];
function nationalDays(date) {
for (i = 0; i < natDays.length; i++) {
if (date.getMonth() == natDays[i][0] - 1
&& date.getDate() == natDays[i][1]) {
return [false, natDays[i][2] + ''_day''];
}
}
return [true, ''''];
}
function noWeekendsOrHolidays(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
return nationalDays(date);
} else {
return noWeekend;
}
}
$(function() {
$("#datepicker").datepicker({
inline: true,
minDate: new Date(2009, 6, 6),
maxDate: new Date(2009, 7, 14),
numberOfMonths: 2,
hideIfNoPrevNext: true,
beforeShowDay: $.datepicker.noWeekends,
altField: ''#alternate'',
});
});
¡Gracias de nuevo!
Aquí hay una forma de desactivar la selección de fechas específicas:
var unavailableDates = ["9-5-2011","14-5-2011","15-5-2011"];
function unavailable(date) {
dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
if ($.inArray(dmy, unavailableDates) < 0) {
return [true,"","Book Now"];
} else {
return [false,"","Booked Out"];
}
}
$(''#iDate'').datepicker({ beforeShowDay: unavailable });
Fuente: jQuery - Datepicker - Deshabilitar Fechas Específicas
El problema con IE probablemente se encuentre en la siguiente línea:
altField: ''#alternate'',
});
Intenta eliminar el símbolo de coma y debería funcionar.
Puede usar la opción beforeShowDay
. Necesitaba desactivar cualquier día después del 28 del mes. Aquí está mi código.
$(''.datepicker'').datepicker({
dateFormat: "yy-mm-dd",
beforeShowDay: function(date) {
var day = date.getDate();
if (day > 28) {
return [false];
} else {
return [true];
}
}
});
Aquí hay más información al respecto: http://api.jqueryui.com/datepicker/#option-beforeShowDay
La variable de fecha pasada a la devolución de llamada beforeShowDay es un objeto de fecha JavaScript, por lo que se puede formatear utilizando varias bibliotecas, una marca de tiempo se puede recuperar usando date.getTime (), etc.
var unavailableDates = ["19-8-2014","14-9-2014"];
function unavailable(date) {
dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" +date.getFullYear();
if ($.inArray(dmy, unavailableDates) < 0) {
return [true,"","Book Now"];
} else {
return [false,"","Booked Out"];
}
}
$(''#iDate'').datepicker({ beforeShowDay: unavailable });
Demostración en vivo: http://jsfiddle.net/vfod0krm/
beforeShowDay: $.datepicker.noWeekends,
estarán
beforeShowDay: noWeekendsOrHolidays,