从第一个日期开始动态更改maxdate jquery datepicker 7days

时间:2013-08-14 05:02:33

标签: jquery datepicker

我已经看到了类似的问题,但我不够熟练地适应其他代码以适应我的代码。有人可以通过显示这个确切代码的解决方案来帮助我吗?我真的很感激任何帮助。

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

date2 note 如果他们首先选择date2,则允许date1选择max -7days但不允许该日期从今天的日期开始小于+ 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 );
                    }
                });
            });

1 个答案:

答案 0 :(得分:1)

在var today今天的日期以格式August 14 2013

存储 带有身份from

输入被指定了日期选择器,日期显示明天到下个月3个月

标识to

输入将被禁用,直到用户选择ID为from

的输入中的日期为止

在ID为from的输入中更改日期时,var date_diff计算当前日期与输入中选择的日期之间的差异from和变量{{1传递给ID为date_diff的输入中的minDate选项,同样var to根据您的选择要求计算为var maxDate_d date_diff天在一周内的日期,在选项+7中传递,并且已启用。

DEMO

<强> HTML

maxDate

<强> JS

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