【问题标题】:Date range picker - invalid date日期范围选择器 - 无效日期
【发布时间】:2015-11-21 23:22:35
【问题描述】:

我正在使用这个日期范围选择 (http://www.daterangepicker.com/#options)

这里有一些选项,我最了解,但我需要关于“isInvalidDate”的帮助

我使用此代码,它运行良好。日期 11/12/2015 已禁用,用户无法选择。

isInvalidDate: function(date) {
    if (date.format('YYYY-MM-DD') == '2015-11-12') {
        return true; 
    } else {
        return false; 
    }
},

但是我需要添加几个无效的日期,所以用户不能使用它们。 我不知道如何做一些数组和循环来返回真假天数,有人能帮我吗?

【问题讨论】:

  • 也许添加您使用的语言(我假设是 javascript?)。请记住,在处理响应时,您还需要在任何服务器端语言上再次验证它。
  • 对不起,我忘记了,是javascript。当我连续两次添加此代码时,它不会起作用,因为比仅在最后一个日期被禁用,而不是全部

标签: javascript daterangepicker


【解决方案1】:

希望对大家有所帮助

 var some_date_range = [
  '02-04-2016',
  '03-04-2016',
  '04-04-2016',
  '05-04-2016'
];
"isInvalidDate" : function(date){
  for(var ii = 0; ii < some_date_range.length; ii++){
    if (date.format('DD-MM-YYYY') == some_date_range[ii]){
      return true;
    }
  }
}

【讨论】:

  • 这应该是公认的答案,它解决了问题。
  • 很好,谢谢,一开始没有意识到这是欧元格式,我不得不切换到MM-DD-YYYY
【解决方案2】:

您需要一种方法将被阻止的日期从后端提供给客户端。 但是让我们假设您解决了这个问题并将日期放在一个数组中。 然后您需要做的就是检查日期是否在数组中。

参见例如这里: Checking if date belongs to array of dates

要从后端获取无效日期,您可以将它们放在脚本本身中,或者让脚本使用例如从服务器获取要阻止的日期。 ajax。

不要忘记在服务器上重新验证,永远不要相信客户端中的过滤确实会发生。

【讨论】:

  • 谢谢,我已经解决了这个问题。刚刚使用了这段代码: if (date >= moment('2015-11-11') && date
猜你喜欢
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
  • 1970-01-01
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
相关资源
最近更新 更多