jQuery UI Datepicker 仅启用数组中的特定日期

Posted

技术标签:

【中文标题】jQuery UI Datepicker 仅启用数组中的特定日期【英文标题】:jQuery UI Datepicker enable only specific days in array 【发布时间】:2011-12-04 06:59:00 【问题描述】:

我正在尝试禁用日期选择器中的所有日期,并且仅启用数组中的日期。这是我目前拥有的代码http://jsfiddle.net/peter/yXMKC/ 问题只是 5 月 14 日显示为启用。其他人都是残疾人。有任何想法吗?

var availableDates = ["9-5-2011","14-5-2011","15-5-2011"];

function available(date) 
  dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
  if ($.inArray(dmy, availableDates) == 1) 
    return [true, "","Available"];
   else 
    return [false,"","unAvailable"];
  


$('#date').datepicker( beforeShowDay: available );

【问题讨论】:

$.inArray 将返回该值在数组中的位置(从0开始),如果该值不在数组中,则返回-1 【参考方案1】:

$.inArray(dmy, availableDates) 返回元素的索引,因此当您与 1 比较时,只有 14-5-2011 会匹配。检查不等于 -1。应该可以。

小提琴 - http://jsfiddle.net/yXMKC/4/

var availableDates = ["9-5-2011","14-5-2011","15-5-2011"];

function available(date) 
  dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
  console.log(dmy+' : '+($.inArray(dmy, availableDates)));
  if ($.inArray(dmy, availableDates) != -1) 
    return [true, "","Available"];
   else 
    return [false,"","unAvailable"];
  

【讨论】:

我想问你我是否添加了另一个日期,比如“22-10-2014”,而其他日期将不起作用。它只会显示选定的日期如何处理这个 非常适合我!

以上是关于jQuery UI Datepicker 仅启用数组中的特定日期的主要内容,如果未能解决你的问题,请参考以下文章

Jquery Datepicker - 从 mysql 数据库启用日期

jQuery UI:DatePicker 只有 CSS?

jquery ui datepicker无法添加新的输入字段

日历验证错误仅在第二次通过 Jquery UI 选择日期后才消失

jquery UI datepicker:从今天开始计算 minDate x 年

jQuery UI 中的 datepicker( )方法