উত্তর:
নেই beforeShowDay
বিকল্প, যা একটি ফাংশন লাগে যদি না হয় তাহলে প্রত্যেক তারিখের বলা হবে, সত্য ফিরে তারিখ অনুমোদিত বা মিথ্যা হয়। ডক্স থেকে:
beforeShowDay
ফাংশন একটি প্যারামিটার হিসাবে একটি তারিখ নেয় এবং সঙ্গে [0] সত্য / মিথ্যা সমান কিনা তা নির্দেশ বা না এই তারিখ নির্বাচনযোগ্য এবং একটি অ্যারের ফিরে আসবে 1 ডিফল্ট উপস্থাপনার জন্য একটি CSS বর্গ নাম (গুলি) অথবা '' এর সমান। এটি প্রদর্শিত হওয়ার আগে ডেটপিকারে প্রতিটি দিনের জন্য ডাকা হয়।
ডেটপিকারে কিছু জাতীয় ছুটি প্রদর্শন করুন।
$(".selector").datepicker({ beforeShowDay: nationalDays})
natDays = [
[1, 26, 'au'], [2, 6, 'nz'], [3, 17, 'ie'],
[4, 27, 'za'], [5, 25, 'ar'], [6, 6, 'se'],
[7, 4, 'us'], [8, 17, 'id'], [9, 7, 'br'],
[10, 1, 'cn'], [11, 22, 'lb'], [12, 12, 'ke']
];
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, ''];
}
ফাংশনে অন্তর্নির্মিত একটি হ'ল নো উইকেন্ডস নামে পরিচিত যা সপ্তাহান্তের দিনগুলির নির্বাচনকে বাধা দেয়।
$(".selector").datepicker({ beforeShowDay: $.datepicker.noWeekends })
দুটোকে একত্রিত করতে, আপনি এমন কিছু করতে পারেন ( nationalDays
উপরের দিক থেকে ফাংশনটি ধরে নিচ্ছেন ):
$(".selector").datepicker({ beforeShowDay: noWeekendsOrHolidays})
function noWeekendsOrHolidays(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
return nationalDays(date);
} else {
return noWeekend;
}
}
আপডেট : নোট করুন যে jQuery UI 1.8.19 হিসাবে, পূর্ববর্তী শোডে বিকল্পটি একটি alচ্ছিক তৃতীয় প্যারামিটার গ্রহণ করে, একটি পপআপ টুলটিপ
Uncaught TypeError: Cannot read property 'noWeekends' of undefined
আপনি যদি না চান তবে সাপ্তাহিক ছুটিগুলি একেবারে প্রদর্শিত হবে, কেবল:
সিএসএস
th.ui-datepicker-week-end,
td.ui-datepicker-week-end {
display: none;
}
td.ui-datepicker-week-end { visibility: hidden; }
এই উত্তরগুলি খুব সহায়ক ছিল। ধন্যবাদ.
নীচে আমার অবদানটি একটি অ্যারে যুক্ত করেছে যেখানে একাধিক দিন মিথ্যা ফিরতে পারে (আমরা প্রতি মঙ্গলবার, বুধবার এবং বৃহস্পতিবার বন্ধ থাকি)। এবং আমি নির্দিষ্ট তারিখগুলি প্লাস বছর এবং নো-উইকএন্ডের কার্যগুলি বান্ডিল করেছি।
আপনি যদি উইকএন্ডে ছুটি চান, তবে [শনিবার], [রবিবার] ক্লোজডস অ্যারেতে যুক্ত করুন।
$(document).ready(function(){
$("#datepicker").datepicker({
beforeShowDay: nonWorkingDates,
numberOfMonths: 1,
minDate: '05/01/09',
maxDate: '+2M',
firstDay: 1
});
function nonWorkingDates(date){
var day = date.getDay(), Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6;
var closedDates = [[7, 29, 2009], [8, 25, 2010]];
var closedDays = [[Monday], [Tuesday]];
for (var i = 0; i < closedDays.length; i++) {
if (day == closedDays[i][0]) {
return [false];
}
}
for (i = 0; i < closedDates.length; i++) {
if (date.getMonth() == closedDates[i][0] - 1 &&
date.getDate() == closedDates[i][1] &&
date.getFullYear() == closedDates[i][2]) {
return [false];
}
}
return [true];
}
});
ডেটপিকারের এই কার্যকারিতাটি অন্তর্নির্মিত রয়েছে!
$( "#datepicker" ).datepicker({
beforeShowDay: $.datepicker.noWeekends
});
এখানে যে সমাধানটি প্রত্যেকে পছন্দ করেন তা তীব্র বলে মনে হচ্ছে ... ব্যক্তিগতভাবে আমি মনে করি যে এরকম কিছু করা খুব সহজ:
var holidays = ["12/24/2012", "12/25/2012", "1/1/2013",
"5/27/2013", "7/4/2013", "9/2/2013", "11/28/2013",
"11/29/2013", "12/24/2013", "12/25/2013"];
$( "#requestShipDate" ).datepicker({
beforeShowDay: function(date){
show = true;
if(date.getDay() == 0 || date.getDay() == 6){show = false;}//No Weekends
for (var i = 0; i < holidays.length; i++) {
if (new Date(holidays[i]).toString() == date.toString()) {show = false;}//No Holidays
}
var display = [show,'',(show)?'':'No Weekends or Holidays'];//With Fancy hover tooltip!
return display;
}
});
এইভাবে আপনার তারিখগুলি মানব পাঠযোগ্য। এটি সত্যিই আলাদা নয় এটি কেবল এইভাবে আমার কাছে আরও বোঝায়।
কোডের এই সংস্করণটি আপনাকে স্কিল ডাটাবেস থেকে ছুটির তারিখগুলি পেতে এবং ইউআই ডেটপিকারে নির্দিষ্ট তারিখটি অক্ষম করে দেবে
$(document).ready(function (){
var holiDays = (function () {
var val = null;
$.ajax({
'async': false,
'global': false,
'url': 'getdate.php',
'success': function (data) {
val = data;
}
});
return val;
})();
var natDays = holiDays.split('');
function nationalDays(date) {
var m = date.getMonth();
var d = date.getDate();
var y = date.getFullYear();
for (var i = 0; i ‘ natDays.length-1; i++) {
var myDate = new Date(natDays[i]);
if ((m == (myDate.getMonth())) && (d == (myDate.getDate())) && (y == (myDate.getFullYear())))
{
return [false];
}
}
return [true];
}
function noWeekendsOrHolidays(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
return nationalDays(date);
} else {
return noWeekend;
}
}
$(function() {
$("#shipdate").datepicker({
minDate: 0,
dateFormat: 'DD, d MM, yy',
beforeShowDay: noWeekendsOrHolidays,
showOn: 'button',
buttonImage: 'images/calendar.gif',
buttonImageOnly: true
});
});
});
বর্গাকারে একটি ডেটাবেস তৈরি করুন এবং এমএম / ডিডি / ওয়াইওয়াইওয়াই ফর্ম্যাটে আপনার ছুটির তারিখগুলি বর্ণের হিসাবে রাখুন নীচের বিষয়বস্তুকে একটি ফাইল getdate.php এ রাখুন
[php]
$sql="SELECT dates FROM holidaydates";
$result = mysql_query($sql);
$chkdate = $_POST['chkdate'];
$str='';
while($row = mysql_fetch_array($result))
{
$str .=$row[0].'';
}
echo $str;
[/php]
শুভ কোডিং !!!! :-)
$("#selector").datepicker({ beforeShowDay: highlightDays });
...
var dates = [new Date("1/1/2011"), new Date("1/2/2011")];
function highlightDays(date) {
for (var i = 0; i < dates.length; i++) {
if (date - dates[i] == 0) {
return [true,'', 'TOOLTIP'];
}
}
return [false];
}
এই সংস্করণে, মাস, দিন এবং বছর নির্ধারণ করে যে ক্যালেন্ডারে কোন দিন অবরুদ্ধ করা উচিত।
$(document).ready(function (){
var d = new Date();
var natDays = [[1,1,2009],[1,1,2010],[12,31,2010],[1,19,2009]];
function nationalDays(date) {
var m = date.getMonth();
var d = date.getDate();
var y = date.getFullYear();
for (i = 0; i < natDays.length; i++) {
if ((m == natDays[i][0] - 1) && (d == natDays[i][1]) && (y == natDays[i][2]))
{
return [false];
}
}
return [true];
}
function noWeekendsOrHolidays(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
return nationalDays(date);
} else {
return noWeekend;
}
}
$(function() {
$(".datepicker").datepicker({
minDate: new Date(d.getFullYear(), 1 - 1, 1),
maxDate: new Date(d.getFullYear()+1, 11, 31),
hideIfNoPrevNext: true,
beforeShowDay: noWeekendsOrHolidays,
});
});
});
দিনগুলিকে অক্ষম করার জন্য আপনি এরকম কিছু করতে পারেন।
<input type="text" class="form-control datepicker" data-disabled-days="1,3">
যেখানে 1 সোমবার এবং 3 বুধবার
সর্বশেষতম বুটস্ট্র্যাপ 3 সংস্করণে (বুটস্ট্র্যাপ-ডেটপিকার.জেএস) beforeShowDay
এই ফর্ম্যাটটির ফলাফল আশা করে:
{ enabled: false, classes: "class-name", tooltip: "Holiday!" }
বিকল্পভাবে, আপনি যদি সিএসএস এবং টুলটিপ সম্পর্কে চিন্তা না করেন false
তবে তারিখটি অনির্বাচনেযোগ্য করে তুলতে কেবল একটি বুলিয়ান ফিরিয়ে দিন।
এছাড়াও, নেই $.datepicker.noWeekends
, তাই এর লাইন বরাবর আপনার কিছু করা দরকার:
var HOLIDAYS = { // Ontario, Canada holidays
2017: {
1: { 1: "New Year's Day"},
2: { 20: "Family Day" },
4: { 17: "Easter Monday" },
5: { 22: "Victoria Day" },
7: { 1: "Canada Day" },
8: { 7: "Civic Holiday" },
9: { 4: "Labour Day" },
10: { 9: "Thanksgiving" },
12: { 25: "Christmas", 26: "Boxing Day"}
}
};
function filterNonWorkingDays(date) {
// Is it a weekend?
if ([ 0, 6 ].indexOf(date.getDay()) >= 0)
return { enabled: false, classes: "weekend" };
// Is it a holiday?
var h = HOLIDAYS;
$.each(
[ date.getYear() + 1900, date.getMonth() + 1, date.getDate() ],
function (i, x) {
h = h[x];
if (typeof h === "undefined")
return false;
}
);
if (h)
return { enabled: false, classes: "holiday", tooltip: h };
// It's a regular work day.
return { enabled: true };
}
$("#datePicker").datepicker({ beforeShowDay: filterNonWorkingDays });
শনিবার এবং রবিবারের জন্য আপনি এই জাতীয় কিছু করতে পারেন
$('#orderdate').datepicker({
daysOfWeekDisabled: [0,6]
});