我在Javascript方面不太好 - 但我正在尝试这个:
我有一个事件列表,用户可以在将来“编程关闭”事件。
但是,此未来日期不能在事件发生后。
然后,我需要为每个事件设置一个maxdate。
我正在使用JQuery DatePicker - 并设置maxdate我这样做:
$('#closeevent').datetimepicker({
minDate: 0,
maxDate: new Date(2016, 8, 15, 8, 0)
});
maxDate = 2016/8/15 08:00
我的问题:
如何为每个事件点击一个按钮更改“2016,8,15,8,0”(maxDate值)(因为每个事件都有不同的maxDate。
事件1 ... maxDate(2016,9,10,8,0).... [按钮onClick:..] 事件2 ... maxDate(2016,10,22,10,30)...... [按钮onClick:..]
如果我点击事件1的按钮 - maxDate更改为2016,9,10,8,0 ..
如果我点击event2的按钮 - maxDate更改为2016,10,22,10,30 ..
很多
答案 0 :(得分:1)
您可以使用beforeShowDay属性来指定在显示每个日期之前调用的函数。返回允许您以更高的粒度控制日期。
你可以看一下这个小提琴的例子。 https://jsfiddle.net/tv760t1s/
var maxDate = new Date(2016, 8, 15, 8, 0);
$(".dateChange").click(function() {
maxDate = new Date($(this).attr('value'));
console.log(maxDate);
});
$("#datepicker").datepicker({
minDate: 0,
maxDate: new Date(2016, 8, 15, 8, 0),
beforeShowDay: function(date) {
console.log(date, maxDate);
if (date > maxDate) {
return [false, 'noShowClass', 'Date time not available'];
} else {
return [true, '', ''];
}
}
});
HTML:
<div>
<input type='text' id='datepicker' value=''>
<input class='dateChange' type='button' value='2016-08-15 08:00:00'>
<input class='dateChange' type='button' value='2016-09-10 08:00:00'>
</div>