Si queremos evitar que sean seleccionables los días pasados en el calendario en forma de popup emergente que tenemos con jquery al utilizar datepicker tenemos que hacer lo siguiente:
Para ver un calendario en forma de popup normal tenemos que poner:

<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>

con lo que vemos esto:

Calendario Jquery Popup con dias pasados seleccionables

Calendario Jquery Popup con dias pasados seleccionables

Para no permitir que los días pasados sean seleccionables tenemos que poner lo siguiente:

<script>
$(function() {
$("#datepicker").datepicker({ minDate: 0 });
});
</script>
Calendario Jquery Popup no permite seleccionar dias pasados

Calendario Jquery Popup no permite seleccionar dias pasados

con lo que tenemos un calendario que no permite seleccionar los días pasados.

victor

Hola!. Me llamo Víctor Reyes y soy Ingeniero Agrónomo de formación y programador web de profesión (desde el año 2006). Por otra parte me gusta, entre otras aficiones, el senderismo, jugar al futbol y al FIFA en la PS3. Te animo a participar en mi web www.biolucas.com

This Post Has 19 Comments

  1. Daniel Vargas

    Buen día
    Gracias, excelente aporte, quería aprovechar Víctor si pudieras ayudarme, requiero bloquear “x” días del datepicker, para evitar selecciones esas fechas, supongamos 28,29 y 30 de abril, podrías asesorarme?
    gracias de antemano.

    1. victor
      victor

      Hola Daniel, muchas gracias por participar en el blog. Vamos a publicarlo a ver si alguien te puede ayudar. Si tenemos tiempo y lo resolvemos crearemos una entrada con la solución a este problema. Saludos!

  2. Jolver Monzon

    Hola estimado,, he copiado el segmento de codigo en los ajustes adicionales de mi Contact Form 7 pero sigue sin funcionarme,, yo quiero que se me inhabiliten los dias pasados.
    Saludos

    1. victor
      victor

      Hola Jolver, lo publicamos y vamos a ver si te podemos ayudar entre todos.

      Un saludo, Víctor

  3. Gerardo

    Estimado, no se si aun este activo este post, pero igual te comento lo que necesito haber si alguien lo lee y me da una mano. Lo que necesito es que solo estén disponibles para ser seleccionados los 1 y 16 de todos los meses, como hago eso en el datepicker, agradeciera mucho su apoyo al respecto.

    1. victor
      victor

      Hola Gerardo, muchas gracias por participar. Vamos a ver como hacer activos siempre esos días y en cuanto lo sepamos o nos ayude alguien te lo comunicamos. Saludos!

  4. cesar

    Muy buena su pag, tengo una duda soy nuevo!!! como realizo para validar con la fecha del ordenador o la fecha actual y bloquear los dias anteriores. esto lo puedo realizar como por ejemplo para dar citas medicas no permitir colocar citas en dias anterioers, pero si por ejemplo necesito es bloquear los dias posteriores al actual, esto lo utilizaria para consultas

  5. Jonatan

    Hola victor me sirve de mucho tu post pero me interesaria saber como mostrar solo los dias sabados con el date picker

    gracias

  6. leydi

    hola buen dia, como desactivaria los dias sabados y domingos del calendarioo.. urgente por fis 🙂

    1. victor
      victor

      Hola Leydi, gracias por participar en el blog. He creado un artículo sobre la duda que planteas:
      http://biolucas.com/como-desactivar-los-sabados-y-domingos-del-calendario-en-datepicker-de-jquery/

      Un saludo, Víctor

  7. Ivan Conde Silva

    Disculpa, quisiera saber como desactivar los días del calendario con datepicker y solo elegir mes y año
    Saludos y espero puedas ayudarme!

    1. victor
      victor

      Hola Ivan, gracias por contactar. La verdad nunca he visto un popup sólo de meses y de años, lo que si he visto son 2 selectores independientes (o dependientes si tienen relación con el contenido existente), uno con los meses y otro con los años. ¿Te refieres a eso?. Un saludo, Víctor

  8. Roberto

    ah ok, gracias lo intentare asi como me comentas, saludos.-

  9. Roberto

    Hola Victor, espero estes bien, como se podria traducir al español y frances el Calendario Jquery Popup el mes y los dias de la semana? saludos Roberto y gracias de antemano por este sitio.

    1. victor
      victor

      Hola de nuevo Roberto ;D. La solución a las traduciones suelo encontrarlo buscando en admin/config/regional/translate/translate. Creo que es Case Sensitive, por lo que tienes que poner la palabra exacta, en este caso imagino que será Julio por ejemplo, o prueba con julio. Si no te sale tendría que ver donde poner t(‘texto’) para hacer que este texto en concreto sea traducible.
      Coméntame si te sirvió.

      Un saludo, Víctor

      1. Roberto

        Hola Victor no pensé que me responderías tan rápido, muchísimas gracias se que es por traducir interfaz pero lo que quiero traducir del ingles al español y al francés es el pop up calendar los meses y los días de la semana o sea la imagen que aparece arriba ya que por el link que me diste probe ponerlos en ingles y ya me aparecen traducidos y como tengo un sitio en 3 idiomas y voy a español y francés en el webform me aparecen en ingles solamente.Existira algun popup calendar en español en drupal.org? saludos

        1. victor
          victor

          Hola Roberto, voy a mirar como está hecho. Si no lo puedes traducir como te comenté quizás tengas que retocar el módulo añadiéndole t() al texto para que sea traducible.

          Un saludo, Víctor

  10. Humberto Antonio

    Hola buen día.

    Quiero utilizar datepicker en mi pagina sin embargo estoy utilizando tambien ajax con jquery. Con esto no me aparece mi calendario. ¿Que podria hacer para solucionarlo?

    1. victor
      victor

      Hola Humberto, muchas gracias por escribir. Te pido disculpas porque no he entendido bien el problema. ¿Te refieres a que tienes un calendario que utiliza AJAX y JQuery y al modificarlo para que no se muestre los días anteriores al actual dejó de funcionar?. Si quieres puedes pegar código y entre lo que podamos ver aquí y lo que vean los demás navegantes quizás te podamos ayudar.

      Un saludo, Víctor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*

CommentLuv badge