我想启用特定日期并在完成任务后禁用它。我不知道如何开始和先做什么。请建议我。
" 2016年2月3日"" 19-03-2016"" 23-03-2016",
答案 0 :(得分:0)
有点难以理解您的需求,但我猜您正在使用datepicker,并且您希望禁用和重新设置某些特定日期。
您在实例化日期选择器时使用beforeShowDay
来执行此操作。在回答您的问题之前,让我们先提醒一下beforeShowDate的作用:
一个以日期作为参数的函数,必须返回一个数组:
[0]: true/false indicating whether or not this date is selectable [1]: a CSS class name to add to the date's cell or "" for the default presentation [2]: an optional popup tooltip for this date
在日期选择器之前,每天都会调用该函数 显示。
因此,要禁用某个特定日期,您需要在参数测量器中使用[false]
时,如果您没有,则需要beforeShowDate
。因此,我建议您使用全局变量[true]
,在其中放置要禁用的所有日期。所以这里是一个小代码,我禁用这些日期:" 2016-03-11"," 2016-03-02"和" 2016-03-24":
dateDisabledArray
现在,如果您想重新设定之前的日期,则只需执行以下操作:
var dateDisabledArray = ["2016-03-11","2016-03-02","2016-03-24"];
$('input').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [ dateDisabledArray.indexOf(string) == -1 ]
}
});
这里是一个jsfiddle,我在点击时禁用这些日期,并在下面的点击中重新设置它们。