2015-01-31 110 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