jQuery datapicker noWeekends एकल सप्ताहांत दिन की अनुमति देता है

मैं jQuery डेटापिकर प्लगइन का उपयोग कर रहा हूं, और सप्ताहांत को अक्षम करने के लिए noWeekends फ़ंक्शन का उपयोग कर रहा हूं। एकमात्र मुद्दा यह है कि मुझे एक सप्ताहांत दिवस को सक्षम करने की आवश्यकता है। क्या किसी को भी यह करना आता है? यहां कोड है जिसका मैं उपयोग कर रहा हूं ...

var disabledDays = [<?php echo rtrim($daysClosed, ","); ?>];

function nationalDays(date) {
    var m = date.getMonth(), 
        d = date.getDate(), 
        y = date.getFullYear();

    for (i = 0; i < disabledDays.length; i++) {
        if ($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1) {
                return [false, disabledDays[i][2] + '_day'];
            }
        }
        return [true, ''];
}

function noWeekendsOrHolidays(date) {
    var noWeekend = jQuery.datepicker.noWeekends(date);
    return noWeekend[0] ? nationalDays(date) : noWeekend;
    jQuery('.cart-contents i').html(noWeekend);
}

jQuery(document).ready(function(){

    jQuery('#e_deliverydate').datepicker({
        dateFormat: 'dd/mm/yy',
        beforeShowDay: noWeekendsOrHolidays,
        minDate:<?php echo $delivMin; ?>,
        maxDate:'<?php echo $oneYearOn; ?>' 
    });

});

अग्रिम में धन्यवाद :)

0

1 उत्तर

पहेली डेमो

$("#datepicker").datepicker({
    beforeShowDay: function (date) {
        var day = date.getDay();
        return [(day != 6)]; //0-Sunday 6-Saturday
    }
});


Updated after OP's comment

Disable all 28th Dec

पहेली डेमो

var array = ["28-12"];
$("#datepicker").datepicker({
    beforeShowDay: function (date) {
        var string = jQuery.datepicker.formatDate('dd-mm', date);
        return [array.indexOf(string) == -1]
    }
});


Disable 28th Dec 2013

पहेली डेमो

var array = ["28-12-2013"];//add dates you want to disable here
$("#datepicker").datepicker({
    beforeShowDay: function (date) {
        var string = jQuery.datepicker.formatDate('dd-mm-yy', date);
        return [array.indexOf(string) == -1]
    }
});


To enable 28th Dec

अपडेट किया गया पहेली डेमो

$("#datepicker").datepicker({
    beforeShowDay: function (date) {
        var string = jQuery.datepicker.formatDate('dd-mm-yy', date);
        if (string == "28-12-2013") {
            return  [true];
        } else {
            var day = date.getDay();
            return [(day != 6)];
        }
    }
});
0
जोड़ा
प्रतिक्रिया के लिए धन्यवाद, लेकिन यह वास्तव में मदद नहीं करता है। मेरे पास पहले से ही noWeekendsOrHolidays नामक फ़ंक्शन है जो सभी सप्ताहांत और किसी भी दिन को परिभाषित करता है जिसे मैं परिभाषित करता हूं। मुझे समझाया जाना चाहिए कि मैं सभी शनिवार को सक्षम नहीं करना चाहता, सिर्फ एक दिन - 28 दिसंबर। धन्यवाद
जोड़ा लेखक Stuart Taylor-Jones, स्रोत
उत्तर के लिए फिर से धन्यवाद। लेकिन यह अभी भी सही नहीं है। मेरे कोड को मैंने मूल प्रश्न में पोस्ट किया है और आप देखेंगे कि मैंने disabledDays में परिभाषित सभी सप्ताहांत और कस्टम तिथियां अक्षम कर दी हैं। शनिवार 28 दिसंबर एक सप्ताहांत होने के नाते मेरे कोड के साथ अक्षम है, मैं जानना चाहता हूं कि इसे कैसे सक्षम किया जाए। धन्यवाद
जोड़ा लेखक Stuart Taylor-Jones, स्रोत
मैं वास्तव में आपके उत्तरों की सराहना करता हूं, आपकी सभी मदद के लिए धन्यवाद। एकमात्र मुद्दा यह है कि, आपके द्वारा प्रदान किया गया कोड पूर्वनिर्धारित अक्षम दिनों के लिए खाता नहीं है। मुझे लगता है कि इस नियम को NoWeekendsOrHolidays फ़ंक्शन में जोड़ा जाना आवश्यक है, लेकिन मैं इसे समझ नहीं सकता। कोई विचार? धन्यवाद
जोड़ा लेखक Stuart Taylor-Jones, स्रोत
@ स्टुअर्ट टेलर-जोन्स फिल्ड डेमो के साथ अद्यतन उत्तर की जांच करें।
जोड़ा लेखक Tushar Gupta, स्रोत
@ स्टुअर्ट टेलर-जोन्स अपडेट किए गए उत्तर और डेमो की जांच करें -> jsfiddle.net/cse_tushar/HZ5rw/4
जोड़ा लेखक Tushar Gupta, स्रोत