2013-07-29 1 views
0

jquery datepicker에서 날짜를 선택하자마자 사용자의 나이를 계산하고 싶습니다. 내가 alert(date)하지만 내가 더 코드에서 아무것도 못하고 있어요 때 나는 수 있어요날짜를 연도로 계산하십시오. jquery datepicker에서 선택하십시오.

$(document).ready(function() { 
    $("#nominee_one_dob").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'yy-mm-dd', 

    onSelect: function (date) { 
     var dob = Date.parse(date); 
     if (dob.addYears(18) < Date.today()) 
     { 
      alert("Under 18"); 
     } 
     else 
     { 
      alert(" Over 18"); 
     } 
    } 

    }); 

은 날짜를 선택하세요.

도와주세요. 코드에서

+1

자바 스크립트 작업은 내가 출생의 날짜를 얻을 수있는 방법 그래서'addYears' 기능 –

+0

이 없다? –

+0

비슷한 질문이 많이 있습니다. http://stackoverflow.com/questions/4060004/calculate-age-in-javascript –

답변

2

버그 :

(1)

var dob = Date.parse(date); //return in milliseconds 

따라서 당신이 dob.getFullYear()

(2)

Date.today() //Nope. not available 

어떤 방법을 사용하지 해 추출 할 수 없습니다 유효한.

수정 :

(1) var dob = new Date(date);

날짜없는 문자열을 반환 날짜 선택기 구문 분석 할 필요가 없습니다.

(2) var today = new Date(); //returns current dateTime

(3)를 사용 .getFullYear() 날짜에서 연도를 추출합니다.

남은 코드 :

$(document).ready(function() { 
    $("#nominee_one_dob").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'yy-mm-dd', 

    onSelect: function (date) { 
     var dob = new Date(date); 
     var today = new Date(); 

     if (dob.getFullYear() + 18 < today.getFullYear()) 
     { 
      alert("Under 18"); 
     } 
     else 
     { 
      alert(" Over 18"); 
     } 
    } 

    }); 
}); 

JSFiddle

+0

@FakhruddinUjjainwala 도움이 되었기 때문에 기쁩니다. – Praveen

+0

감사합니다. –

1

$("#date_born").datepicker({ 
 
    onSelect: calculate, 
 
    dateFormat: 'dd/mm/yy', 
 
    maxDate: '+0d',  
 
    yearRange: '1914:2014', 
 
    buttonImageOnly: false, 
 
    changeMonth: true, 
 
    changeYear: true 
 
}); 
 

 
$("#date_Today").datepicker({ 
 
    onSelect: calculate, 
 
    dateFormat: 'dd/mm/yy', 
 
    maxDate: '+0d',  
 
    yearRange: '1914:2014', 
 
    buttonImageOnly: true, 
 
    changeMonth: true, 
 
    changeYear: true 
 
}); 
 

 
function calculate() { 
 
    var start = $('#date_born').datepicker('getDate'); 
 
    var end  = new Date($('#date_Today').datepicker('getDate')); 
 
    var age_year = Math.floor((end - start)/31536000000); 
 
    var age_month = Math.floor(((end - start)% 31536000000)/2628000000); 
 
    var age_day = Math.floor((((end - start)% 31536000000) % 2628000000)/86400000); 
 
    $('#age').val(age_year); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Date <input type="text" name="date_born" id="date_born"/> 
 
Date Select<input type="text" name="date_Today" id="date_Today"/> 
 
Age <input type="text" name="age" id="age" />

+0

코드 조각이 작동하지 않습니다. –

관련 문제