我想启用特定日期,并在完成任务后禁用它。我不知道该怎么开始,先做什么。请推荐我。
"2016年2月3日","2016年3月19日",《》
理解您的需求有点困难,但我猜您使用的是日期选择器,并且希望禁用和重命名某些特定日期。
您可以在实例化日期选择器时使用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
函数在日期选择器中的每一天都会被调用显示。
因此,要禁用特定日期,当参数中有要禁用的日期时,需要在函数beforeShowDate
中返回[false]
,如果没有,则返回[true]
。因此,我敦促您使用全局变量dateDisabledArray
,在其中放置所有要禁用的日期。因此,这里有一个小代码,我可以在其中禁用这些日期:"2016-03-11"、"2016-03-02"answers"2016-03-24":
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 ]
}
});
现在,如果你想重新命名以前的日期,你只需要做:
dateDisabledArray = [];
这里有一个jsfiddle,我在点击时禁用这些日期,并在下面的点击中重命名它们。