在我的日期选择器上,我必须在特定日期设置最长日期。但是,拥有最大日期并不会对用户有任何意义(但是现在我必须限制它们。)
因此,为了不让用户感到困惑,我想在他们尝试浏览或点击该日期之后显示一条消息,以便他们无法选择它。
Datepicker似乎没有提供任何onclick事件。 我如何能够抓住用户点击导航或禁用日期,并在日期晚于最大日期时向他们显示消息?
答案 0 :(得分:1)
禁用日期(最小/最大之外的日期)获取由datepicker添加的类ui-state-disabled。将click事件绑定到该类并设置警报。
$(document).on('click', '.ui-state-disabled', function () {
alert('Invalid date')
})
<强> jsFiddle example 强>
答案 1 :(得分:0)
好吧,我设法通过扩展上面的j08681建议来做到这一点。
日历附带html5数据属性...
所以,有点幸运,因为最长日期是一个月结束前的2天 - 我抓住了之前 data-month
<的 td
值/ strong>在日历中使用jQuery .data()
,如下所示:
$(document).on('click', '.ui-state-disabled', function () {
if ($(this).prev().data('month') === 3) alert ('Invalid');
})
因此,当用户点击任何.ui-state-disabled时,我将检查前一天td是否有data-month = 3.如果是,则表示用户在Max Date之后点击。这将是第31天,这是我的maxDate之后的第一个残疾日
我有一个类似的,听取 .ui-datepicker-next.ui-state-disabled
,因此用户无法进入下个月,他们也会收到我的消息。