【问题标题】:Disable specific dates in jquery在jquery中禁用特定日期
【发布时间】:2009-10-18 12:41:48
【问题描述】:

我正在使用此处的 jquery 日期选择器:http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerStartEnd.html,它允许用户选择开始和结束日期。

但是我希望能够禁用特定日期。

我尝试实现此处的代码:stackoverflow.com/questions/501943/can-the-jquery-ui-datepicker-be-made-to-disable-saturdays-and-sundays-and-holida,讨论禁用国定假日。

这是我的完整代码:

$(function()
{


 $('.date-pick').datePicker({ beforeShowDay: nationalDays})
// $(".selector").datepicker({ beforeShowDay: nationalDays})   

 var natDays = [
   [1, 26, 'au'], [2, 6, 'nz'], [3, 17, 'ie'],
   [4, 27, 'za'], [5, 25, 'ar'], [6, 6, 'se'],
   [7, 4, 'us'], [8, 17, 'id'], [9, 7, 'br'],
   [10, 1, 'cn'], [11, 22, 'lb'], [12, 12, 'ke']
 ];

 function nationalDays(date) {
  for (i = 0; i < natDays.length; i++) {
    if (date.getMonth() == natDays[i][0] - 1
     && date.getDate() == natDays[i][1]) {
   return [false, natDays[i][2] + '_day'];
    }
  }
   return [true, ''];
 }

 $('#start-date').bind(
  'dpClosed',
  function(e, selectedDates)
  {
   var d = selectedDates[0];
   if (d) {
    d = new Date(d);
    $('#end-date').dpSetStartDate(d.addDays(1).asString());
   }
  }
 );
 $('#end-date').bind(
  'dpClosed',
  function(e, selectedDates)
  {
   var d = selectedDates[0];
   if (d) {
    d = new Date(d);
    $('#start-date').dpSetEndDate(d.addDays(-1).asString());
   }
  }
 );

});

但这似乎不起作用。

非常感谢您在解决此问题方面的任何帮助!

【问题讨论】:

  • 您可能需要提供有关您遇到的行为/错误的更多信息。

标签: jquery date datepicker picker


【解决方案1】:

Simple Calendar Widget 内置了这种功能。可以换吗?

【讨论】:

    【解决方案2】:

    您似乎对两个不同的日期选择器感到困惑。您显示的引用“beforeShowDay”的链接是jQuery UI datepicker 小部件的文档。但您似乎正在使用my date picker widget

    使用我的小部件,您需要使用renderCallback 来禁用某些日期。这两个例子展示了如何:

    http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerCustomCellRender.html (禁用周末的弹出式日历)

    http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/renderCalendarBankHolidays.html(另一个显示renderCalendarrenderCallback 的示例显示英国银行假期 - datePicker 在幕后使用renderCalendar,因此您可以以相同的方式传递renderCallback

    【讨论】:

    • 附注刚刚注意到这个问题的日期。不知道为什么它突然出现在我的 RSS 提要中,用于标记 jquery 和 datepicker 的问题,但我想你可能已经找到了解决方案!
    猜你喜欢
    • 2017-07-31
    • 1970-01-01
    • 2012-04-02
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多