首頁 > web前端 > js教程 > 如何從 jQuery UI Datepicker 中排除週末和假日?

如何從 jQuery UI Datepicker 中排除週末和假日?

DDD
發布: 2024-11-17 00:28:03
原創
323 人瀏覽過

How to Exclude Weekends and Holidays from jQuery UI Datepicker?

從jQuery UI Datepicker 中排除週六、週日和假日

jQuery UI Datepicker 提供了一個用於選擇日期的強大工具。為了增強其功能,您可能想要停用某些日期,例如週末或假日。幸運的是,使用強大的 beforeShowDay 選項可以實現這一點。

beforeShowDay 選項接受以日期作為輸入並傳回陣列的函數。傳回陣列包含兩個值:

  1. 一個布林值,指示日期是否可供選擇 (true) 或否 (false)。
  2. 套用於日期,或預設樣式的空字串。

防止選擇週末

要防止選擇星期六和星期日,您可以使用 jQuery UI 內建的 noWeekends 函數,該函數對於週末日期返回false:

$(".selector").datepicker({ beforeShowDay: $.datepicker.noWeekends });
登入後複製

排除假期

您可以定義自訂函數以從清單中排除特定假期日期選擇器。例如,以下程式碼停用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, ''];
}
登入後複製

組合週末和假日排除

要停用週末和假日,您可以結合noWeekends 和nationalDays 函式。以下範例建立自訂noWeekendsOrHolidays 函數,該函數對於週末日期或假日日期傳回false:

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

透過將beforeShowDay 選項與這些自訂函數結合使用,您可以有效地停用星期六、星期日和特定假日jQuery UI Datepicker,讓您可以建立更客製化和限制性的日期選擇體驗。

以上是如何從 jQuery UI Datepicker 中排除週末和假日?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板