【问题标题】:Jquery datepicker. 2 datepickers. Restrict range. Default date current datejQuery 日期选择器。 2个日期选择器。限制范围。默认日期 当前日期
【发布时间】:2017-08-11 13:22:13
【问题描述】:

我正在使用带有两个输入框的 jQuery Datepicker 小部件,一个用于“From”日期,第二个用于“To”日期。我正在使用 jQuery Datepicker,但我需要这些额外的限制:

  1. 默认情况下,“开始”日期和“结束”日期都必须在日历中突出显示当前日期。
  2. 如果先选择“To”日期,则“From”日期只能在“To”日期之前的 31 天范围内。如果先选择“开始”日期,则“结束”日期只能在“开始”日期之后的 31 天范围内。无论哪种情况,都应禁用其余日期。
  3. 我需要 dd-mm-yyyy 格式的日期。

【问题讨论】:

  • 如果没有指定默认日期,则第一点应该是默认行为。你都尝试了些什么?显示你的代码以及你卡在哪里
  • 我在此链接上尝试了最佳答案代码:stackoverflow.com/questions/330737/… 但在此所有当前日期后的日期都被禁用,并且还有一些最小日期......我没有任何这些限制.

标签: javascript jquery date jquery-ui datepicker


【解决方案1】:

请使用以下代码。

$( function() {
    $("#fromDate").datepicker({
          dateFormat: 'yy-mm-dd',
        inline: true,
        onSelect: function(date, inst) {
                 var selDate = new Date(date);
                 var newDate = new Date(selDate.getFullYear(), selDate.getMonth(), selDate.getDate()+31);
                  $('#toDate').datepicker('option', 'minDate', selDate );
                  $('#toDate').datepicker('option', 'maxDate', newDate );
        }
        });
        $("#fromDate").datepicker('setDate', new Date());

    $( "#toDate" ).datepicker({
            dateFormat: 'yy-mm-dd',
            inline: true,
            onSelect: function(date, inst) {
                 var selDate = new Date(date);
                 var newDate = new Date(selDate.getFullYear(), selDate.getMonth(), selDate.getDate()-31);
                  $('#fromDate').datepicker('option', 'minDate', newDate );
                  $('#fromDate').datepicker('option', 'maxDate', selDate );
            }
    });
    $("#toDate").datepicker('setDate', new Date());
  } );

参考Fiddle

【讨论】:

  • 另外,我需要 dd-mm-yy 格式。我更改了 dateFormat 和新 Date() 中的序列。但它不起作用。
猜你喜欢
  • 2017-01-18
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
  • 2012-05-05
  • 1970-01-01
  • 2021-03-14
  • 1970-01-01
相关资源
最近更新 更多