2011-10-10 26 views
20

में केवल विशिष्ट दिन सक्षम करता है मैं डेटपिकर में सभी तिथियों को अक्षम करने का प्रयास कर रहा हूं और केवल सरणी में मौजूद तिथियां सक्षम करता हूं। यह कोड है जो मेरे पास अब तक http://jsfiddle.net/peter/yXMKC/ है, समस्या केवल 14 मई को सक्षम होने के रूप में दिखाई देती है। अन्य सभी अक्षम हैं। कोई विचार?jQuery UI Datepicker सरणी

var availableDates = ["9-5-2011","14-5-2011","15-5-2011"]; 

function available(date) { 
    dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear(); 
    if ($.inArray(dmy, availableDates) == 1) { 
    return [true, "","Available"]; 
    } else { 
    return [false,"","unAvailable"]; 
    } 
} 

$('#date').datepicker({ beforeShowDay: available }); 
+0

'$ .inArray', स्थिति सरणी में मूल्य (0 से शुरू होता है) वापस आ जाएगी अगर मान सरणी में नहीं है, यह वापस आ जाएगी' -1' – Xieranmaya

उत्तर

43

$ .inArray (DMY, availableDates) तत्व के सूचकांक देता है, इसलिए जब आप 1 के साथ तुलना केवल 14-5-2011 से मेल खाएगी। -1 के बराबर के लिए जाँच करें। कार्य करना चाहिए।

फिडल - http://jsfiddle.net/yXMKC/4/

var availableDates = ["9-5-2011","14-5-2011","15-5-2011"]; 

function available(date) { 
    dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear(); 
    console.log(dmy+' : '+($.inArray(dmy, availableDates))); 
    if ($.inArray(dmy, availableDates) != -1) { 
    return [true, "","Available"]; 
    } else { 
    return [false,"","unAvailable"]; 
    } 
} 
+1

मैं आपसे पूछना चाहता हूं कि क्या मैंने एक और तिथि "22-10-2014" और अन्य तिथियों को कहा है, यह काम नहीं करेगा। यह केवल –

+0

को संभालने के लिए चयनित मॉथ दिनांक दिखाएगा, मैं इसे इस प्रारूप एमएम/डीडी/वाई वाई वाई कैसे प्राप्त करूं? – Si8

संबंधित मुद्दे