【问题标题】:Need help in jquery date picker在 jquery 日期选择器中需要帮助
【发布时间】:2016-02-05 04:41:31
【问题描述】:

大家好,我在日期选择器中遇到了一个问题,请朋友们帮助我。

我正在将此代码用于日期选择器。

$("#datepicker").datepicker({minDate: 0});

此代码正在禁用所有以前的日期,这是正确的,也是我需要的。现在我需要的是。

假设日期是 2016 年 2 月 5 日,从该日期开始,我需要禁用接下来的 2 个日期,没有人可以选择这些日期。 02/06/2016 , 02/07/2016

我使用 Min Max 函数进行了尝试,日期 02/05/2016 使用我的代码动态显示。

请朋友们帮帮我。

【问题讨论】:

标签: javascript jquery date


【解决方案1】:

您可以像这样专门禁用日期。

/** Days to be disabled as an array */
var badDates = ["02-06-2015", "02-07-2014"];

function DisableSpecificDates(date) {
    var string = $.datepicker.formatDate('mm-dd-yy', date);
    return [badDates.indexOf(string) == -1];
  }

$(function() {
  $("#datepicker").datepicker({
    minDate: 0,
    beforeShowDay: DisableSpecificDates
  });
});

您将添加到 badDates 数组的任何日期都将被禁用。

谢谢 阿米特

【讨论】:

  • 您能否根据需要从 badDates 数组中修改日期?
  • @Harsimransingh gr8!!
【解决方案2】:

使用beforeShowDay,一个以日期为参数的函数,必须返回一个带有true/false的数组,表示该日期是否可选,CSS类名添加到日期的单元格或“”为默认值演示文稿,此日期的可选弹出工具提示

试试这个:

var date = new Date();
var array = [];
var numberOfDays = 2;
for (var i = 0; i < numberOfDays; i++) {
  date.setDate(date.getDate() + 1);
  var formattedDate = jQuery.datepicker.formatDate('mm/dd/yy', date);
  array.push(formattedDate);
}
$('#date').datepicker({
  minDate: 0,
  beforeShowDay: function(date) {
    var string = jQuery.datepicker.formatDate('mm/dd/yy', date);
    return [array.indexOf(string) == -1]
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/redmond/jquery-ui.css" rel="stylesheet" />

<input id='date' />

【讨论】:

  • 但问题是所有以前的日期也需要禁用我已经尝试过了。使用此代码,所有以前的日期都可用。
  • 你用skype吗-thedesigningworld
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多