2011-10-10 28 views
20

我試圖禁用日期選擇器中的所有日期,並且只啓用數組中的日期。這是我到目前爲止的代碼http://jsfiddle.net/peter/yXMKC/問題是僅在5月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

如何獲得這種格式的MM/DD/YYYY? – Si8

相關問題