दिलचस्प पोस्ट
पूंछ पुनर्कलन क्या है? NSArray को एनएसडीएटा में कैसे परिवर्तित किया जाए? कैनवास छवि क्रॉसप्लेफ़ेट असुरक्षित त्रुटि सीएसवी फ़ाइल से लोड किए गए कॉलम को लोड डेटा इन्फिले का उपयोग करके एक MySQL डाटाबेस में कैसे डालें सरणी संरचना के साथ सरणी के लिए स्ट्रिंग टी-एसक्यूएल पायवोट? पंक्ति मानों से तालिका स्तंभ बनाने की संभावना पता लगाएं कि किसी टेक्स्ट के अंदर किस शब्द पर क्लिक किया गया है QMake के उप-डिज़ाइन टेम्पलेट का उपयोग कैसे करें? $ लुकअप ऑपरेटर का इस्तेमाल करते हुए कई परिस्थितियों में शामिल हों पांडस / पाप्लोट में स्कैटर प्लॉट: श्रेणी के अनुसार कैसे साजिश की जाए WPF – संसाधन के रूप में छवि आयात करें विशिष्ट डिवाइस के लिए एंड्रॉइड ऐप कैसे प्रतिबंधित करें? <input type = "file" /> के लिए एनजी-मॉडल HTTP में "406 स्वीकार्य उत्तर नहीं" क्या है? जावा स्टैक ट्रेस को कैसे पढ़ें और समझें?

क्या jQuery UI Datepicker शनिवार और रविवार (और छुट्टियों) को अक्षम करने के लिए बनाया जा सकता है?

नियुक्ति का दिन चुनने के लिए मैं एक डेडेक्कर का उपयोग करता हूँ मैंने पहले की तारीख सीमा केवल अगले महीने के लिए निर्धारित की है। यह ठीक काम करता है मैं उपलब्ध विकल्पों से शनिवार और रविवार को बाहर करना चाहता हूं क्या यह किया जा सकता है? यदि हां, तो कैसे?

वेब के समाधान से एकत्रित समाधान "क्या jQuery UI Datepicker शनिवार और रविवार (और छुट्टियों) को अक्षम करने के लिए बनाया जा सकता है?"

beforeShowDay विकल्प से beforeShowDay है, जो प्रत्येक दिनांक के लिए कॉल करने के लिए एक फ़ंक्शन लेता है, अगर वह मान्य नहीं है या गलत है, तो यह सच वापस लौटाता है। डॉक्स से:


beforeShowDay

फ़ंक्शन किसी दिनांक को पैरामीटर के रूप में लेता है और [0] के बराबर के साथ एक सरणी को सही / गलत बताएगा कि यह तिथि चयन योग्य है या 1 सीएसएस वर्ग नाम (नामों) के बराबर है या डिफ़ॉल्ट प्रस्तुति के लिए। इसे तिथिपिक्कर में प्रत्येक दिन के लिए कहा जाता है इससे पहले प्रदर्शित किया जाता है।

डेटक्कर में कुछ राष्ट्रीय अवकाश प्रदर्शित करें

 $(".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 के रूप में, ShowWayDay विकल्प से पहले एक वैकल्पिक तीसरा पेरेमीटर, एक पॉपअप टूलटिप भी स्वीकार करता है

यदि आप सप्ताहांत को बिल्कुल भी दिखाना नहीं चाहते हैं, तो बस:

सीएसएस

 th.ui-datepicker-week-end, td.ui-datepicker-week-end { display: none; } 

ये जवाब बहुत उपयोगी थे धन्यवाद।

मेरा योगदान नीचे एक सरणी जोड़ता है जहां कई दिन गलत (हम हर मंगलवार, बुधवार और गुरुवार बंद कर रहे हैं) वापस कर सकते हैं। और मैंने विशिष्ट तिथियां प्लस वर्ष और सप्ताहांत के सप्ताहों में बांधा।

यदि आप सप्ताहांत बंद करना चाहते हैं, तो [शनिवार], [रविवार] को बंददिनों सरणी में जोड़ें

 $(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 }); 

http://api.jqueryui.com/datepicker/#utility-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; } }); 

इस तरह आपकी तिथियां मानव पठनीय हैं यह वास्तव में अलग नहीं है यह मेरे लिए इस तरह से अधिक समझ में आता है।

कोड का यह संस्करण आपको एसक्यूएल डेटाबेस से छुट्टियों की तिथियां प्राप्त करने और UI Datepicker में निर्दिष्ट दिनांक को अक्षम करने देगा।

 $(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]; } 

आप सप्ताहांत चयन को अक्षम करने के लिए नोवेकडेड फ़ंक्शन का उपयोग कर सकते हैं

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

इस संस्करण में, महीने, दिन, और वर्ष यह निर्धारित करता है कि कैलेंडर को किस दिन ब्लॉक करना है।

 $(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 ) में, 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 });