6

मैं एक विशाल परियोजना पर jquery UI datepicker का उपयोग कर रहा हूं और मुझे एहसास है कि मुझे कुछ क्षेत्रों में केवल कुछ सप्ताह के दिनों की अनुमति देने की आवश्यकता होगी। मैंने उनके दस्तावेज़ीकरण को पढ़ा और इसके बारे में कुछ भी नहीं मिला .. मुझे पता है कि jq के लिए कुछ डेटपिकर्स स्क्रिप्ट हैं जो यह कर सकती हैं लेकिन यदि संभव हो तो मैं इसके लिए कोई अतिरिक्त स्क्रिप्ट का उपयोग नहीं करना चाहता हूं। किसी को भी इसके लिए कोई कामकाज पता है? हो सकता है कि मैं उनके दस्तावेज़ीकरण में कुछ भी गलत समझा?jQuery यूआई डेटपिकर - केवल कुछ सप्ताह के दिनों की अनुमति दें

नोट: वांछित व्यवहार का उदाहरण: http://codeasp.net/blogs/raghav_khunger/microsoft-net/1088/jquery-datepicker-disable-specific-weekdays

मदद के लिए अग्रिम धन्यवाद, चीयर्स पेड्रो

+3

लिंक आप पोस्ट आप के लिए पूरा जवाब होता है सवाल .. –

+1

@Gaby: और एक डेमो अपने कार्य की! –

+0

@ एंड्रयू, हाँ ... बहुत सीधी-फावर्ड। –

उत्तर

2

डॉक्स से:

beforeShowDay: समारोह एक पैरामीटर के रूप में एक तिथि लेता है और [0] के बराबर सत्य/झूठी के साथ एक सरणी वापस करनी चाहिए, यह इंगित करता है कि यह दिनांक चयन योग्य है या नहीं, [1] डिफ़ॉल्ट प्रस्तुति के लिए एक सीएसएस वर्ग नाम या '' के बराबर है, और [2] एक वैकल्पिक पॉपअप टूलटिप इस तारीख के लिए। यह प्रदर्शित होने से पहले डेटपिकर में प्रत्येक दिन इसे बुलाया जाता है।

एक उदाहरण के लिए, कृपया यहां देखें:

http://codeasp.net/blogs/raghav_khunger/microsoft-net/1088/jquery-datepicker-disable-specific-weekdays

+0

ब्लॉग की टिप्पणियों में यह पाया गया जो थोड़ा बेहतर दिखता है http://jquerybyexample.blogspot.com/2010/07/disable-specific-days-in-jquery.html –

7
$(".datepicker.future").datepicker('option','beforeShowDay',function(date){ 
    var td = date.getDay(); 
    var ret = [(date.getDay() != 0 && date.getDay() != 6),'',(td != 'Sat' && td != 'Sun')?'':'only on workday']; 
    return ret; 
}); 
+0

टीडी चर को एक पूर्णांक मान असाइन किया जा रहा है लेकिन यह है तारों की तुलना में। मुझे लगता है कि आप यह चाहते थे: var td = ['सूर्य', 'सोम', 'मंगल', 'बुध', 'थू', 'शुक्र', 'शनि'] [date.getDay()]; – primehalo

5

@Jan थॉमस चर टीडी जोड़ने के लिए भूल गया था। सही कोड है:

$(".datepicker.future").datepicker('option','beforeShowDay',function(date){ 
    var td = date.getDay(); 
    var ret = [(date.getDay() != 0 && date.getDay() != 6),'',(td != 'Sat' && td != 'Sun')?'':'only on workday']; 
    return ret; 
}); 
+1

टीडी "बैठे" हो सकता है अगर यह दिए गए दिन का NUMERICAL प्रतिनिधित्व है? एक बग या मुझे यह नहीं मिला। – Tyler

+0

टीडी चर को एक पूर्णांक मान असाइन किया जा रहा है लेकिन इसकी तुलना स्ट्रिंग से की जा रही है। मुझे लगता है कि आप यह चाहते थे: var td = ['सूर्य', 'सोम', 'मंगल', 'बुध', 'थू', 'शुक्र', 'शनि'] [date.getDay()]; – primehalo

3
$('selector').datepicker({ 
beforeShowDay: $.datepicker.noWeekends // disable weekends 
}); 
0

जीन मैलेट का जवाब (beforeShowDay: $.datepicker.noWeekends) सरल और सुरुचिपूर्ण है।

हालांकि, अगर आप पहले से ही beforeShowDay (जैसा कि मैं अपने मामले में था) का उपयोग कर फ़ंक्शन को कॉल कर रहा हूं, तो यहां आप सप्ताह के कुछ दिनों (इस मामले में, रविवार और शनिवार) को अक्षम कर सकते हैं, बाकी के साथ जंजीर

beforeShowDay: function (date) { 

    /* your other function code here */ 

    if (date.getDay() > 0 && date.getDay() < 6) { 
     return [true, '']; 
    } else { 
     return [false, '']; 
    } 
} 

enter image description here