【问题标题】:Show Date outside of defined MinDate MaxDate restrictions显示超出定义的 MinDate MaxDate 限制的日期
【发布时间】:2018-05-06 01:53:11
【问题描述】:

我已经用谷歌搜索并试图找出答案,但无法解决这个问题。在页面加载时,我使用以下最小值和最大值限制 datePicker

$("#<%=txtboxDate.ClientID%>").datepicker({ 
minDate: new Date(2017, 2, 21),
 maxDate: new Date(2023, 07, 11) });

但我也有2017-2-21之前的数据datePicker采用这种格式mm/dd/yy。所以它收到的日期是'2/1/2017'。它超出了minDate 的限制。

如何在datePicker 日历上显示这些日期或仅显示此日期2/1/2017,并在 jquery 上定义相同的限制?

【问题讨论】:

  • 日期选择器用于设置新的日期值......只需在没有选择器的情况下呈现给定格式的值即可。或者您可以在标记中执行类似 的操作
  • 我不想只读输入字段。我想让日历只读现在的日历就像:可以选择日期,使用“下一个,上一个”箭头符号更改月份和年份。
  • 请澄清显示这些日期的含义。它们应该出现在您的日历中但不可选择。您还可以使用beforeShowDay 函数来迭代日期并添加类或执行其他此类活动。
  • @Twisty 我的意思是在设置 minDate 和 maxDate 限制后,当它被写在文本框上时,日历不会在日历上显示这个日期2/1/2017。我只想让日历也显示它。--第二点-- 是的,应该出现但不能选择

标签: javascript jquery date jquery-ui datepicker


【解决方案1】:

试试这个

<input id="dp" />

var d = $.datepicker.parseDate("mm/dd/yy", "12/21/2017");
$('#dp').datepicker({

    beforeShowDay: function (date) {
        return [date >= d, ''];
    }
});
$('#dp').datepicker("setDate", "12/10/2017");

【讨论】:

    【解决方案2】:

    你不能。 应用最小和最大限制的全部意义在于控制可能日期的范围。

    要么将值更新为您的最小日期,要么将 min 更改为您拥有的日期

    【讨论】:

      【解决方案3】:

      在初始化日期选择器之前在输入字段中设置日期 (fiddle)。 我想这会解决你的目的。

      HTML:

      Date Picker on input field: <input type="text" id="date1" name="date1"/> <br/>
      

      JQuery:

      $(document).ready(function() {
      
        $('#thedate').datepicker({
          dateFormat: 'mm/dd/yy',
          minDate: new Date(2017, 12, 21),
          maxDate: new Date(2017, 12, 28)
        });
      
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-29
        • 1970-01-01
        • 2015-05-27
        • 1970-01-01
        • 1970-01-01
        • 2021-08-16
        • 2019-06-17
        相关资源
        最近更新 更多