Calendario de primefaces, aplique estilo personalizado para fines de semana y festivos.

Quiero aplicar css para fines de semana y festivos para p: calendar. Estoy tratando de invocar el evento beforeShowDay usando jQuery y basado en la condición establecida en el css.

  $(document).ready(function(){ $(".hasDatepicker").datepicker("option", "beforeShowDay", function (date) { //If condition true return [true,'holidays']; //else return [true,'']; }); });   .holidays {background-color: wheat;}   

Pero el evento no está siendo despedido. ¿Hay algo más que me falta, o algún otro enfoque?

Deberías usar el atributo beforeShowDay

beforeShowDay: Devolución de llamada para ejecutar antes de mostrar una fecha, utilizada para personalizar la visualización de la fecha.

Use la callback javascript de ShowDay para personalizar el aspecto de cada fecha. La función devuelve una matriz con dos valores, el primero es un indicador para indicar si la fecha se mostraría como habilitada y el segundo parámetro es la clase de estilo opcional para agregar a la celda de fecha. A continuación ejemplo deshabilitado martes y viernes. (Guía de usuario de PrimeFaces página 50)

  function tuesdaysAndFridaysDisabled(date) { var day = date.getDay(); return [(day != 2 && day != 5), ''] } 

Solución jQuery

Si desea resolverlo sin modificar su elemento de primefaces, pero utilizando el atributo jquery datepicker beforeShowDay eche un vistazo a este tutorial de calendario de Primefaces: fechas destacadas