Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
从第一个日期起7天动态更改maxdate jquery日期选择器_Jquery_Datepicker - Fatal编程技术网

从第一个日期起7天动态更改maxdate jquery日期选择器

从第一个日期起7天动态更改maxdate jquery日期选择器,jquery,datepicker,Jquery,Datepicker,我见过类似的问题,但我没有足够的技巧来适应其他代码,以适应我的代码。有人能帮我展示一下这个精确代码的解决方案吗?我真的很感谢你的帮助 我有一个datepicker脚本,我想要的行为是: 日期1字段: 选择从今天起+1d到最多3个月之间的任意mindate。 根据已选择的mindate,允许用户在date2字段中从mindate中选择7天内的任何一天(基本上,他们可以租用一个项目长达7天) 日期2注 如果他们先选择date2,则允许date1选择最多7天,但不允许该日期与今天的日期相比小于+1d

我见过类似的问题,但我没有足够的技巧来适应其他代码,以适应我的代码。有人能帮我展示一下这个精确代码的解决方案吗?我真的很感谢你的帮助

我有一个datepicker脚本,我想要的行为是: 日期1字段: 选择从今天起+1d到最多3个月之间的任意mindate。 根据已选择的mindate,允许用户在date2字段中从mindate中选择7天内的任何一天(基本上,他们可以租用一个项目长达7天)

日期2注 如果他们先选择date2,则允许date1选择最多7天,但不允许该日期与今天的日期相比小于+1d

我看了很多回复,但找不到这个确切的例子,提前道歉

            $(function(){
                var dates = $( "#date1, #date2" ).datepicker({
                    defaultDate: "+1d",
                    minDate: 1,
                    maxDate: "+3M",
                    dateFormat: 'dd M yy',
                    showOtherMonths: true,
                    changeMonth: true,
                    selectOtherMonths: true,
                    required: true,
                    showOn: "focus",
                    numberOfMonths: 1,
                    onSelect: function( selectedDate ) {
                        var option = this.id == "date1" ? "minDate" : "maxDate",
                        instance = $( this ).data( "datepicker" );
                        date = $.datepicker.parseDate(
                        instance.settings.dateFormat ||
                        $.datepicker._defaults.dateFormat,
                        selectedDate, instance.settings );
                        dates.not( this ).datepicker( "option", option, date );
                    }
                });
            });

在var中,今天的日期以2013年8月14日的格式存储

id为
from
的输入被指定日期选择器,日期声明为从明天到未来3个月

在用户从

当使用id
from
var
date_diff
在输入中更改日期时,计算当前日期与使用id
from
在输入中选择的日期之间的差值,并且变量
date_diff
被传递到使用id
to
的输入中的
minDate
选项
maxDate\u d
根据您选择周内日期的要求,计算为var
date\u diff
+7
天,传入选项
maxDate
,并启用

HTML

<input type="text" id="from" />
<input type="text" id="to" />

谢谢Tushar Gupta…你解决了一个困扰我这么久的问题。
$(document).ready(function () {
    var d = new Date();
    var monthNames = ["January", "February", "March", "April", "May", "June",
        "July", "August", "September", "October", "November", "December"];
    today = monthNames[d.getMonth()] + ' ' + d.getDate() + ' ' + d.getFullYear();

    $('#to').attr('disabled', 'disabled');
    $('#from').datepicker({
        defaultDate: "+1d",
        minDate: 1,
        maxDate: "+3M",
        dateFormat: 'dd M yy',
        showOtherMonths: true,
        changeMonth: true,
        selectOtherMonths: true,
        required: true,
        showOn: "focus",
        numberOfMonths: 1,
    });

    $('#from').change(function () {
        var from = $('#from').datepicker('getDate');
        var date_diff = Math.ceil((from.getTime() - Date.parse(today)) / 86400000);
        var maxDate_d = date_diff+7+'d';
        date_diff = date_diff + 'd';
        $('#to').val('').removeAttr('disabled').removeClass('hasDatepicker').datepicker({
            dateFormat: 'dd.mm.yy',
            minDate: date_diff,
            maxDate: maxDate_d
        });
    });

    $('#to').keyup(function () {
        $(this).val('');
        alert('Please select date from Calendar');
    });
    $('#from').keyup(function () {
        $('#from,#to').val('');
        $('#to').attr('disabled', 'disabled');
        alert('Please select date from Calendar');
    });

});