Maison  >  Article  >  interface Web  >  Comment exclure les week-ends et les jours fériés de jQuery UI Datepicker ?

Comment exclure les week-ends et les jours fériés de jQuery UI Datepicker ?

DDD
DDDoriginal
2024-11-17 00:28:03243parcourir

How to Exclude Weekends and Holidays from jQuery UI Datepicker?

À l'exclusion des samedis, dimanches et jours fériés de jQuery UI Datepicker

Le jQuery UI Datepicker fournit un outil robuste pour sélectionner des dates. Pour améliorer ses fonctionnalités, vous souhaiterez peut-être désactiver certaines dates, comme les week-ends ou les jours fériés. Heureusement, cela est possible en utilisant la puissante option beforeShowDay.

L'option beforeShowDay accepte une fonction qui prend une date en entrée et renvoie un tableau. Le tableau de retour contient deux valeurs :

  1. Un booléen indiquant si la date est disponible pour la sélection (true) ou non (false).
  2. Un nom de classe CSS facultatif à appliquer au date, ou une chaîne vide pour le style par défaut.

Empêcher la sélection des week-ends

Pour empêcher la sélection des samedis et dimanches, vous pouvez utiliser la fonctionnalité intégrée de jQuery UI -dans la fonction noWeekends, qui renvoie false pour les dates du week-end :

$(".selector").datepicker({ beforeShowDay: $.datepicker.noWeekends });

Exclusion des jours fériés

Vous pouvez définir une fonction personnalisée pour exclure des jours fériés spécifiques du sélecteur de date. Par exemple, le code suivant désactive la sélection des jours fériés définis dans le tableau natDays :

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, ''];
}

Combining Weekend and Holiday Exclusion

Pour désactiver les week-ends et les jours fériés, vous pouvez combiner les fonctions noWeekends et nationalDays. L'exemple suivant crée une fonction noWeekendsOrHolidays personnalisée qui renvoie false pour les dates de week-end ou de jours fériés :

function noWeekendsOrHolidays(date) {
  var noWeekend = $.datepicker.noWeekends(date);
  if (noWeekend[0]) {
    return nationalDays(date);
  } else {
    return noWeekend;
  }
}

En utilisant l'option beforeShowDay avec ces fonctions personnalisées, vous pouvez désactiver efficacement les samedis, dimanches et jours fériés spécifiques dans votre jQuery UI Datepicker, vous permettant de créer une expérience de sélection de date plus personnalisée et restrictive.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn