当前位置: 首页 > 知识库问答 >
问题:

日期月份年份下拉列表类型日期选择器

衡泰
2023-03-14

有没有办法创建一个包含所有三个下拉列表(日期月份和年份)的日期选择器,我可以通过JS/前端验证将输入的最低年龄限制为18岁?

共有3个答案

莫欣悦
2023-03-14

使用javascript/jQuery:

滑动分页

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="date" name="yourfieldname" class="hidden">
<select class="chan" id="d">
    <option value="30">30</option>
    <option value="28">28</option>
</select>
<select class="chan" id="m">
    <option value="11">11</option>
    <option value="12">12</option>
</select>
<select class="chan" id="y">
    <option value="2017">2017</option>
    <option value="2018">2018</option>
</select>
<script>
    $(document).ready(function () {
        $(document).on('change',".chan",function () {
            $("#date").val($("#d").val()+"/"+$("#m").val()+"/"+$("#y").val());
        })
    })
</script>
苏鸿志
2023-03-14

请用这把小提琴

var d = new Date();
var year = d.getFullYear() - 18;
d.setFullYear(year);

		 $("#lastReporteddate").datepicker({ dateFormat: "dd",
		    changeMonth: true,
		    changeYear: true,
		    maxDate: year,
		    minDate: "-100Y",
            yearRange: '-100:' + year + '',
            defaultDate: d
		 });
     $("#lastReportedmonth").datepicker({ dateFormat: "mm",
		    changeMonth: true,
		    changeYear: true,
		    maxDate: year,
		    minDate: "-100Y",
            yearRange: '-100:' + year + '',
            defaultDate: d
		 });
     $("#lastReportedyear").datepicker({ dateFormat: "yy",
		    changeMonth: true,
		    changeYear: true,
		    maxDate: year,
		    minDate: "-100Y",
            yearRange: '-100:' + year + '',
            defaultDate: d
		 });

$("#button").click(function(){
        var dob = $("#lastReporteddate").val();
        var mob = $("#lastReportedmonth").val();
        var yob = $("#lastReportedyear").val();
        var now = new Date();
        /* var birthdate = dob.split("/"); */
        var born = new Date(yob, mob-1, dob);
        age=get_age(born,now);
     
        console.log(yob+" : "+mob+" : "+dob);
        console.log(born);
    		console.log(age);
        
        if (age<=18)
        {
       alert("Input Error - Age should be greater then or equal to 18");
            return false;
        }
});


    function get_age(born, now) {
      var birthday = new Date(now.getFullYear(), born.getMonth(), born.getDate());
      if (now >= birthday) 
        return now.getFullYear() - born.getFullYear();
      else
        return now.getFullYear() - born.getFullYear() - 1;
    }
html lang-html prettyprint-override">Date of Birth (DD): 
 <input type="text" class="datepicker minimumSize" name="BirthDate" id="lastReporteddate"/>
 Month (MM):
 <input type="text" class="datepicker minimumSize" name="BirthDate" id="lastReportedmonth"/>
 Year of Birth (YYYY):
 <input type="text" class="datepicker minimumSize" name="BirthDate" id="lastReportedyear"/>
<input type="submit" id="button">
梁丘弘
2023-03-14

试试这个:

$('#dob2').datepicker("option", "onSelect", function(dateText, inst) {
var dob = $(this).datepicker('getDate');
var age = GetAge(dob);
if (age >= 16 && age < 18) {
      alert("The minimum age requirement for supplementary card applicant is 18 years old. For applicant aged 16 and 17, and are going overseas to study, please submit the letter of acceptance from the education institution.");
   }
});

function GetAge(birthDate) {
var today = new Date();
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
    age--;
}
return age;
}
 类似资料:
  • 我想有一个日期选择器,用户可以从日期选择器中只选择月份和年份,我还需要限制从以前的日期选择器中选择月份和年份的下一个日期选择器... 有人能帮我解脱吗?

  • 我使用的是bootstrap datepicker,我的代码如下所示,是JSFIDLE上的代码演示 上面的代码运行良好,但我试图做的是允许用户只选择月份和年份。 你能告诉我怎么做吗?

  • 问题内容: 我正在做一些报告,我想获取特定月份(例如2014年1月)中的所有日期,以及执行此“ SQL”时的日期: 我想得到这个清单: 如果我这样做“ SQL”: 我想得到这个清单: 如果我这样做“ SQL”: 我想得到这个清单: 这有可能吗,还是我应该自己为下一个100年绘制日期表:) 问题答案: 这是此问题的mysql / java解决方案。 创建表语句: Java代码: 我使用此sql获取日

  • 我有两个下拉列表,一个是年份下拉列表,显示当前年份,另一个是从当前年份开始的两年。我有一个月下拉列表,显示所有12个月。我想在选择页面中单击“提交”后,在下一个jsp中水平显示用户所选月份(以月为单位)下拉列表和所选年份(以年为单位)下拉列表中从1日到31日的所有日历日期。Java语言

  • 问题内容: 我正在尝试将包含2007年12月1日等各个部分的日期转换为SQL Server 2005中的日期时间。我尝试了以下方法: 但这会导致日期错误。将三个日期值转换为正确的日期时间格式的正确方法是什么? 问题答案: 假设全部,如何:

  • 我在利用这一刻。js以特定的形式显示时间- 上面的代码以下面的格式显示日期和时间 0年0月1天37小时 我需要展示这样的东西 0年0月1天13小时 我已经尝试使用from现在和from https://momentjs.com/docs/#/displaying/from/ 但无法获得输出。我怎样才能做到这一点。