2015-01-31 239 views
0

我有一個PHP函數,它返回我想在日期選擇器上禁用的日期列表,並將單元格的顏色更改爲紅色。有什麼辦法可以實現?動態更改jQuery datepicker日期顏色並禁用它們

+0

看這裏http://stackoverflow.com/questions/15400775/jquery-ui-datepicker-disable-array-of-dates – Eugen 2015-01-31 23:02:38

回答

0

查看Datepicker API您可以使用beforeShowDay選項爲特定日期設置不同的課程。

定義日期禁用:

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

實現一個函數來檢查日期:

function unavailable(date) { 
    var dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear(); 
    if ($.inArray(dmy, disabledDates) < 0) { 
    return [true,"",""]; 
    } else { 
    //the second parameter you can set your css class 
    return [false,"red","Day unavailable"]; 
    } 
} 

指定的日期選擇器選項:

$('#datepicker').datepicker({ 
    altField : '#hiddenFieldID', 
    format: 'mm-dd-yyyy', 
    changeMonth:true, 
    minDate: 14, 
    beforeShowDay: unavailable //here it is 
}); 

SOURCE

+0

嗨,我已經試過你的解決方案,並已適應它採用json_encode數組。但是當我加載我的頁面時,他的日期選取器消失了。我在問題中添加了上面的代碼。 – Jacob 2015-02-01 09:33:59

+0

在[demo]中可以正常工作(http://jsfiddle.net/9gwreysL/)。檢查控制檯是否有錯誤(chrome/firefox>控制檯選項卡上的F12)。 – Wilmer 2015-02-01 13:31:42

+0

我剛剛意識到,當我添加var disabledDates = <?php回聲json_encode($日期); ?>;獲取我的PHP函數輸出日期選擇器消失的所有日期。這是獲取日期的正確方法嗎? – Jacob 2015-02-02 11:42:22