Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengecualikan Hujung Minggu dan Cuti daripada jQuery UI Datepicker?

Bagaimana untuk Mengecualikan Hujung Minggu dan Cuti daripada jQuery UI Datepicker?

DDD
DDDasal
2024-11-17 00:28:03246semak imbas

How to Exclude Weekends and Holidays from jQuery UI Datepicker?

Tidak termasuk Sabtu, Ahad dan Cuti daripada jQuery UI Datepicker

JQuery UI Datepicker menyediakan alat yang mantap untuk memilih tarikh. Untuk meningkatkan fungsinya, anda mungkin ingin melumpuhkan tarikh tertentu, seperti hujung minggu atau cuti. Nasib baik, ini boleh dilakukan menggunakan pilihan beforeShowDay yang berkuasa.

Pilihan beforeShowDay menerima fungsi yang mengambil tarikh sebagai input dan mengembalikan tatasusunan. Tatasusunan kembali mengandungi dua nilai:

  1. Boolean yang menunjukkan sama ada tarikh tersedia untuk pemilihan (benar) atau tidak (palsu).
  2. Nama kelas CSS pilihan untuk digunakan pada tarikh, atau rentetan kosong untuk penggayaan lalai.

Mencegah Pemilihan Hujung Minggu

Untuk mengelakkan pemilihan Sabtu dan Ahad, anda boleh menggunakan fungsi noWeekends terbina dalam jQuery UI, yang mengembalikan palsu untuk tarikh hujung minggu:

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

Tidak termasuk Cuti

Anda boleh menentukan fungsi tersuai untuk mengecualikan cuti tertentu daripada pemetik tarikh. Contohnya, kod berikut melumpuhkan pemilihan cuti kebangsaan yang ditakrifkan dalam tatasusunan 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, ''];
}

Menggabungkan Pengecualian Hujung Minggu dan Cuti

Untuk melumpuhkan kedua-dua hujung minggu dan cuti, anda boleh menggabungkan fungsi noWeekends dan nationalDays. Contoh berikut mencipta fungsi noWeekendsOrHolidays tersuai yang mengembalikan palsu untuk tarikh hujung minggu atau tarikh cuti:

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

Dengan menggunakan pilihan beforeShowDay dengan fungsi tersuai ini, anda boleh melumpuhkan hari Sabtu, Ahad dan cuti tertentu dengan berkesan dalam anda jQuery UI Datepicker, membolehkan anda mencipta pengalaman pemilihan tarikh yang lebih disesuaikan dan terhad.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Hujung Minggu dan Cuti daripada jQuery UI Datepicker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn