是否有可能修改jQuery UI Datepicker,只允许用户选择,例如,星期一?
星期一是不可选择的:
$(document).ready(function(){
$('input').datepicker({beforeShowDay: function(date){
return [date.getDay() != 1, ''];
}});
});
功能的例子你可以在这里玩:http://jsfiddle.net/RaYZ5/19/.
API文档:http://docs.jquery.com/UI/Datepicker#event-beforeShowDay
之前的帖子完全正确。但更具体地说,只显示星期一:
$('#date').datepicker({ beforeShowDay: function (a){a=a.getDay();return[a==1,""]} });
是的,类似于:
$("#datepicker").datepicker({ beforeShowDay: $.datepicker.noWeekends });
您必须编写一个函数来代替$.datepicker。周末可以做任何你想做的事。
http://docs.jquery.com/UI/Datepicker/noWeekends如果您想要一个非常灵活的解决方案,并在给定的时间段内停用您想要的任何日期,您可以执行以下操作:
$dt_str将是您要禁用的日期。例如,您可以使用PHP构建它,并从数据库中检索您的日期。
当DOM被加载时,disableDates()被调用,神奇的事情就发生了。
var avDays = <?php echo $dt_str ?>;
<script type='text/javascript'>
$(document).ready(
function(){
// Datepicker
$('.datepicker_event').datepicker(
{
inline: true,
numberOfMonths: 2,
beforeShowDay: disableDates
});
}
)
function disableDates(date) {
var isAvailable = false ;
// Find the days to deactivate
if (avDays != null) {
for (i = 0; i < avDays.length; i++) {
if (date.getMonth() == avDays[i][0] - 1 && date.getDate() == avDays[i][1] && date.getFullYear() == avDays[i][2]) {
isAvailable = true;
}
}
}
if (isAvailable) return [true, 'av_day'] ;
else return [false, ''];
}
</script>
我知道的最简单的方法:
$("#datepicker").datepicker({
beforeShowDay: function(date) {
var day = date.getDay();
return [(day > 0 && day < 6), ''];
}
});