Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 基于出生日期填充下拉字段_Javascript_Jquery - Fatal编程技术网

Javascript 基于出生日期填充下拉字段

Javascript 基于出生日期填充下拉字段,javascript,jquery,Javascript,Jquery,我能够在数月、数天和数年内填充数据。我还能够确定年龄,我只允许13岁以下 这是我的密码: $('#reg-yr').change(function(){ var year = $('#reg-yr').val(); var month = $('#reg-mn').val(); var date = $('#reg-dt').val(); var firstdate=new Date(year,month,date); var today = new D

我能够在数月、数天和数年内填充数据。我还能够确定年龄,我只允许13岁以下

这是我的密码:

$('#reg-yr').change(function(){
    var year = $('#reg-yr').val();
    var month = $('#reg-mn').val();
    var date = $('#reg-dt').val();

    var firstdate=new Date(year,month,date);
    var today = new Date();
    var dayDiff = Math.ceil(today.getTime() - firstdate.getTime()) / (1000 * 60 * 60 * 24 * 365);
    var age = parseInt(dayDiff);
});
此代码检查年份更改时的年龄。我现在遇到的问题是,如何根据年龄填充月份下拉字段

例如: 今天的日期是2014年6月13日

“我的生日”下拉列表中的默认日期是1980年1月1日

例如,当我将年份更改为2001年时,将根据最大年龄填充月份

因此,下拉列表应该只包括从1月到5月的几个月

谢谢你的帮助。

试试这个

$('#reg-yr').change(function(){
    var year = $('#reg-yr').val();
    var month = $('#reg-mn').val();
    var date = $('#reg-dt').val();

    var firstdate=new Date(year,month,date);
    var today = new Date();
    var dayDiff = Math.ceil(today.getTime() - firstdate.getTime()) / (1000 * 60 * 60 * 24 * 365);
    var age = parseInt(dayDiff);


    html = '<option value="">Select Month</option>';
    for(i=1;i<=age;i++) {
        html += '<option value="'+i+'">'+i+'</option>';
    }

    $('select').html(html);

    });
$('#reg yr')。更改(函数(){
变量年份=$('#reg yr').val();
var month=$('#reg mn').val();
变量日期=$('#reg dt').val();
var firstdate=新日期(年、月、日);
var today=新日期();
var dayDiff=Math.ceil(today.getTime()-firstdate.getTime())/(1000*60*60*24*365);
var age=parseInt(dayDiff);
html='选择月份';
对于(i=1;i
$('#reg yr')。更改(函数(){
变量月份=['1月'、'2月'、'3月'、'4月'、'5月'、'6月'、'7月'、'8月'、'9月'、'10月'、'11月'、'12月'];
变量年份=$('#reg yr').val();
var month=$('#reg mn').val();
变量日期=$('#reg dt').val();
var today=新日期();
var i=0;

for(i=0;我可以为这个发布一个提琴吗?@shaunakde我已经发布了。嗨,安排似乎颠倒了。应该是1月到5月。只需更改给定的条件,如for(j=0;j),我将根据您的条件更改for循环。1月后,它将显示未定义。抱歉..只需为(j=0;j)设置此条件,让我们来看看。
     $('#reg-yr').change(function(){
             var months =['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
        var year =  $('#reg-yr').val();
        var month = $('#reg-mn').val();
        var date = $('#reg-dt').val();
         var today = new Date();
         var i = 0;
        for(i=0;i <= 12;i++)
        {
            var firstdate=new Date(year,i,date);
             var dayDiff = Math.ceil(today.getTime() - firstdate.getTime()) / (1000 * 60 * 60 * 24 * 365);
             var age = parseInt(dayDiff);

            if(age < 13)
                break;
        }

$('#reg-mn').html('')
        for(j=0;j <(i-1);j++)
        {
            $('#reg-mn').append('<option value="'+ j +'">'+ months[j] +'</option>') ;
        }
    });