Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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
Javascript Jquery日期选择器显示一年中每个月的所有日期_Javascript_Jquery_Jquery Ui_Datepicker - Fatal编程技术网

Javascript Jquery日期选择器显示一年中每个月的所有日期

Javascript Jquery日期选择器显示一年中每个月的所有日期,javascript,jquery,jquery-ui,datepicker,Javascript,Jquery,Jquery Ui,Datepicker,我在文本框中使用jquery datepicker输入用户出生日期。出于验证目的,我将最大年份设置为当前年份的“-16Y”,将最小年份设置为yearRange:'1920:c'。问题是当我在浏览器中显示它时,datepicker不会显示最大年份(即1999年)的所有日期。我认为jquery将其设置为当天的最长日期(8月6日),那么要解决这个问题吗 以下是我的日期选择器代码: $("#YearOFBirth").datepicker({ maxDate: "-16Y",

我在文本框中使用jquery datepicker输入用户出生日期。出于验证目的,我将最大年份设置为当前年份的“-16Y”,将最小年份设置为
yearRange:'1920:c'
。问题是当我在浏览器中显示它时,datepicker不会显示最大年份(即1999年)的所有日期。我认为jquery将其设置为当天的最长日期(8月6日),那么要解决这个问题吗

以下是我的日期选择器代码:

$("#YearOFBirth").datepicker({

            maxDate: "-16Y",
            //showOn: "both",
           // buttonImage: "",
            dateFormat: "mm/dd/yy",
            changeMonth: true,
            changeYear: true,
            yearRange: '1920:c'
        }).keydown(function (e) {
            if (e.keyCode == 8 || e.keyCode == 46) {
                $(e.target).val("");
            } else {
                e.preventDefault();
                return false;
            }
        });
正如你在这张图片中看到的,第六届奥运会之后的所有日子都被禁用,这对于1999年来说是不正确的


注意:我搜索了一下,但什么也没找到。我甚至不知道如何正确地问这个问题

自己计算maxDate:

var maxDate=new Date(new Date().getFullYear()-16,11,31)


然后将
maxDate
交给日期选择器。这样,你就有了16年前一年中所有可用的日子。由于一年的最后一天总是YYYY-12-31,因此硬编码并不是不好的做法。

自己计算最大日期:

var maxDate=new Date(new Date().getFullYear()-16,11,31)


然后将
maxDate
交给日期选择器。这样,你就有了16年前一年中所有可用的日子。由于一年的最后一天总是YYYY-12-31,因此硬编码并不是不好的做法。

自己计算最大日期:

var maxDate=new Date(new Date().getFullYear()-16,11,31)


然后将
maxDate
交给日期选择器。这样,你就有了16年前一年中所有可用的日子。由于一年的最后一天总是YYYY-12-31,因此硬编码并不是不好的做法。

自己计算最大日期:

var maxDate=new Date(new Date().getFullYear()-16,11,31)



然后将
maxDate
交给日期选择器。这样,你就有了16年前一年中所有可用的日子。由于一年的最后一天总是YYYY-12-31,因此硬编码并不是一个坏习惯。

巴迪今天是2015年8月6日。正好是-16Y。您的代码是正确的。@Buggfixer我知道,先生,但是正如你所看到的1999年,我不能选择1999年7月6日之后的任何一天。所有的日子都是可用的。但是如果用户需要选择1999年8月23日作为他的生日呢?那么用户的年龄小于16岁?Buddy今天是2015年8月6日。确切地说-16Y。你的代码是正确的。@Bugger我知道,先生,但是正如你所看到的1999年,我不能选择1999年7月6日之后的任何一天。所有的日子都是可用的。但是如果用户需要选择1999年8月23日作为他的生日呢?那么用户的年龄小于16岁?Buddy今天是2015年8月6日。确切地说-16Y。你的代码是正确的。@Bugger我知道,先生,但是正如你所看到的1999年,我不能选择1999年7月6日之后的任何一天。所有的日子都是可用的。但是如果用户需要选择1999年8月23日作为他的生日呢?那么用户的年龄小于16岁?Buddy今天是2015年8月6日。确切地说-16Y。你的代码是正确的。@Bugger我知道,先生,但正如你所看到的1999年,我不能选择1999年7月6日之后的任何一天。所有的日子都是可用的。但是如果用户需要选择1999年8月23日作为他的生日呢?那么用户的年龄小于16岁?谢谢你,先生。。。你是个救命恩人谢谢你先生。。。你是个救命恩人谢谢你先生。。。你是个救命恩人谢谢你先生。。。你是救命恩人