【问题标题】:Jquery UI Datepicker beforeShowDay tooltipJquery UI Datepicker beforeShowDay 工具提示
【发布时间】:2017-12-12 21:11:52
【问题描述】:

我发现 this 线程关于在 StackOverflow 上将工具提示添加到禁用日期,但无法弄清楚如何将其添加到我的代码中。

如果有人可以帮助我,我会很高兴。

到目前为止我的代码:

beforeShowDay: function(disabledDates) {
  //Concatenating All dates before they are sent in to beforeShowDay
  var localDateArray = parsedDates.concat(addWeekendToDisabled(), disableToday(), disableTomorrow());

  var string = jQuery.datepicker.formatDate('yy-mm-dd', disabledDates);
  return [localDateArray.indexOf(string) === -1];

},

这里来自Jquery UI Datepicker官方文档 beforeShowDay here

演出前

类型:函数(日期日期)
默认值:空
以日期为参数且必须返回一个数组的函数:
[0]:true/false 指示此日期是否可选
[1]:要添加到日期的 CSS 类名默认演示文稿的单元格或“”
[2]:此日期的可选弹出工具提示

【问题讨论】:

  • 事件在禁用日也被禁用。不确定您所期望的行为或真正的实施问题
  • 看看这个演示是否有帮助:plnkr.co/edit/ncwIPE1m0nYsS3e9MUFS?p=preview
  • 好的。所以没有办法在禁用日期获得工具提示?我想在禁用日显示一个工具提示,解释为什么禁用预订。

标签: javascript jquery jquery-ui-datepicker jquery-ui-tooltip


【解决方案1】:

这是我为另一个问题制作的旧CodePen...
您的问题的相关代码如下。

CSS 在禁用日期重新启用指针事件:

pointer-events:initial !important;

然后,在beforeShowDay 上,当您返回false 以禁用日期时,您还可以返回一个类(用于背景颜色,例如AND 指针事件)
您可以使用该类将正确的工具提示消息从数组附加到禁用日期。

所以要附加必须在元素的title 属性中的消息,请在实例化日期选择器后执行以下操作:

$(document).find(".ui-state-disabled.red").attr("title",disabledReason[0]).tooltip();



编辑
看来选择日期后,我的把戏不起作用...
因为 DatePicker 是重新绘制的。

所以这里是绕行,使用onSelectsetTimeout()

onSelect: function(){
    setTimeout(function(){
        $(document).find(".ui-state-disabled.red").attr("title",disabledReason[0]).tooltip();
        $(document).find(".ui-state-disabled.green").attr("title",disabledReason[1]).tooltip();
    },10);
}

它正在第二个CodePen工作。

【讨论】:

  • 很好!!今晚我将在我的解决方案中进行测试。到时候我会回复你的。
  • 今晚很快尝试了您的解决方案。没有让它工作。明天再努力。
  • 好的!没问题。 ;)
  • 抱歉沉默。我不得不将焦点从日期选择器转移到今天更紧急的事情上。很快就会回复您的建议。感谢您迄今为止的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
  • 1970-01-01
  • 2013-01-07
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多