es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Desactivar fecha específica en datepicker en PHP

Quiero desactivar una fecha específica en el selector de fecha. Cuando el usuario selecciona una fecha determinada, se muestra un menú desplegable con detalles. Quiero desactivar la fecha 2021-12-25 en el selector de fecha. Agregué el código para desactivar la fecha, pero aún no funciona. Aquí está el código:

<script type="text/javascript">
    var dates = ["2021-12-25"];
    function DisableDates(date) {
        var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
        return [dates.indexOf(string) == -1];
    }
</script>

<script type="text/javascript">
$(function() {
  var date = new Date();
  var dayNo = date.getDay();

  var d = ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'];
  var event = ['6.00 am: Inglés', '7.00 am: Kannada', '8.00 am: Tamil'];
  var event1 = ['7.00 am: Kannada', '9.00 am: Inglés', '11.00 am: Tamil'];

  var custDate = ['2021-12-24'];

  $("#datepicker").datepicker({
    changeMonth: true,
    dateFormat: 'yy-mm-dd',
    minDate: 0,
    onSelect: function(dateText, inst) {
      var today = new Date(dateText);
      var a = (d[today.getDay()]);
      $('#slDay').val(d[today.getDay()]);
      var html = '';
      $('#slDay').html('');
      if (custDate.includes(dateText)) {
        $.each(event3, function(index, value) {
          html += '<option value="' + value + '">' + value + '</option>';
        });
      } else {
        $.each(event, function(index, value) {
          html += '<option value="' + value + '">' + value + '</option>';
        });
      }
      $('#slDay').append(html);
    }
  });
});
</script>
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para desactivar una fecha en particular en el selector de fechas, necesitas agregar el código a la función onSelect del selector de fechas. Aquí tienes un ejemplo de cómo desactivar la fecha 2021-12-25 en el selector de fechas:

    $(function() {
        var datesToDisable = ["2021-12-25"];
        $("#datepicker").datepicker({
            beforeShowDay: function(date) {
                var dateString = $.datepicker.formatDate("yy-mm-dd", date);
                if (datesToDisable.indexOf(dateString) != -1) {
                    return [false];
                }
                return [true];
            },
            onSelect: function(dateText, inst) {
                if (dateText == "2021-12-25") {
                    // Código para mostrar un desplegable con detalles
                }
            }
        });
    });
    

    La función beforeShowDay se utiliza para comprobar si una fecha se debe desactivar en el selector de fechas. En este ejemplo, el array datesToDisable contiene la fecha “2021-12-25”. Si la fecha actual en el bucle coincide con una fecha en el array datesToDisable, la función devuelve [false], lo cual desactivará la fecha en el selector de fechas.

    Luego puedes utilizar la función onSelect para mostrar el desplegable con detalles cuando el usuario seleccione la fecha “2021-12-25”. En este ejemplo, el código para mostrar el desplegable está dentro de una declaración if que verifica si dateText es igual a “2021-12-25”.

    Asegúrate de que la función datepicker se llame en el elemento correcto, que en este ejemplo debería tener el id “datepicker”.

Comments are closed.