javascript - Jquery日期选择器显示一年中的所有日期

标签 javascript jquery jquery-ui datepicker

我在文本框中使用 jquery datepicker 来输入用户出生日期。出于验证目的,我将最大年份设置为当前年份的“-16Y”,对于最小年份,我将年份范围设置为 yearRange: '1920:c' 。问题是当我在浏览器中显示它时,日期选择器不会显示最大年份(即 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;
            }
        });

正如您在这张图片中看到的那样,6 号被禁用后的所有日子都被禁用,这对于 1999 年来说是不正确的

enter image description here

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

最佳答案

自己计算 maxDate:

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

然后将 maxDate 提供给您的 datePicker。这样您就可以拥有 16 年前一年中所有可用的日子。由于一年的最后一天始终是 YYYY-12-31,因此对其进行硬编码并不是一个坏习惯。

关于javascript - Jquery日期选择器显示一年中的所有日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31854789/

相关文章:

javascript - 隐藏表单提交上的模式

javascript - 如何使用 HTML Canvas 执行洪水填充?

javascript - vue.js + Android 键盘 - 模型上缺少最后输入的单词

javascript - 错误 : SyntaxError: Unexpected end of JSON input at fetch. then.response

jQuery - 动态添加输入占位符、ID 号和行号

jquery - 如何设置 slider 样式

Javascript使一个函数只工作一次

javascript - 使 slider 气泡跟上左 handle

javascript - 使用 jquery 一次只选择一行

javascript - 响应表不显示列值