Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery日期选择器:从selectedDate限制日期_Jquery_Datepicker_Jquery Ui Datepicker - Fatal编程技术网

jQuery日期选择器:从selectedDate限制日期

jQuery日期选择器:从selectedDate限制日期,jquery,datepicker,jquery-ui-datepicker,Jquery,Datepicker,Jquery Ui Datepicker,我想限制我的日历,以便用户限制日期范围 例如:如果用户选择2014年3月10日的起始日期,则用户不得选择2014年6月10日之后的起始日期 以下是我编写的代码: 提前谢谢 $(function() { $( "#from" ).datepicker({ maxDate: 0, dateFormat : 'dd-mm-yy', onClose: function( selectedDate ) { $( "#to" ).datepicker

我想限制我的日历,以便用户限制日期范围

例如:如果用户选择2014年3月10日的起始日期,则用户不得选择2014年6月10日之后的起始日期

以下是我编写的代码:

提前谢谢

$(function() {
   $( "#from" ).datepicker({
      maxDate: 0,
      dateFormat : 'dd-mm-yy',
      onClose: function( selectedDate ) {
        $( "#to" ).datepicker( "option", "minDate", selectedDate );
        var date = $(this).datepicker('getDate');
        var maxDate = new Date(date.getMonth() + 3);
        $( "#to" ).datepicker( "option", "maxDate", maxDate );
      }
    });

    $( "#to" ).datepicker({
        maxDate: 0,
        onClose: function( selectedDate ) {
          $( "#from" ).datepicker( "option", "maxDate", selectedDate );
        }
    });
}

这个问题与你使用日期的方式有关。请检查这个

在将日期指定给datepicker的maxDate或minDate选项之前,必须将日期解析为有效格式:

        var arr = selectedDate.split("-");
        var date = new Date(arr[2] + "-" + arr[1] + "-" + arr[0]);
        var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();
        var minDate = new Date(y, m + 1, d);
        $("#to").datepicker("option", "minDate", minDate);
        //var date = $(this).datepicker('getDate');
        var maxDate = new Date(y, m + 3, d);
        $("#to").datepicker("option", "maxDate", maxDate);
        var arr = selectedDate.split("-");
        var date = new Date(arr[2] + "-" + arr[1] + "-" + arr[0]);
        $("#from").datepicker("option", "maxDate", date);
这同样适用于其他日期选择器:

        var arr = selectedDate.split("-");
        var date = new Date(arr[2] + "-" + arr[1] + "-" + arr[0]);
        var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();
        var minDate = new Date(y, m + 1, d);
        $("#to").datepicker("option", "minDate", minDate);
        //var date = $(this).datepicker('getDate');
        var maxDate = new Date(y, m + 3, d);
        $("#to").datepicker("option", "maxDate", maxDate);
        var arr = selectedDate.split("-");
        var date = new Date(arr[2] + "-" + arr[1] + "-" + arr[0]);
        $("#from").datepicker("option", "maxDate", date);

希望有帮助。

您可以从datepicker获得月份,并将to datepicker的maxDate增加到3个月

$("#from").datepicker({
        dateFormat: "dd-M-yy",            
        minDate: 0,
        onSelect: function (date) {
            var date2 = $('#from').datepicker('getDate');
            date2.setMonth(date2.getMonth() + 3);
            $('#to').datepicker('setDate', date2);
            $('#to').datepicker('option', 'maxDate', date2);
        }
    });
    $('#to').datepicker({
        dateFormat: "dd-M-yy",
        onClose: function () {                
            var from = $('#from').datepicker('getDate');
            console.log(from);
            var to = $('#to').datepicker('getDate');
            if (to <= from) {
                var minDate = $('#dt2').datepicker('option', 'minDate');
                $('#from').datepicker('setDate', minDate);
            }
        }
    });
检查这把小提琴:


谢谢。这是一个巨大的帮助。