yop*_*tes 7 html javascript jquery jquery-ui
我想从出生之日起就知道一个人的年龄.我有一个HTML代码,我正在使用dob的datepicker,当我给出生日期时,它显示自动显示年龄而不提交.请帮我找到解决方案.
<html>
<head>
<title>
DOB calculations
</title>
<link rel='stylesheet' type='text/css' href='jquery-ui.css' />
<script type='text/javascript' src='jquery.min.js'>
</script>
<script type='text/javascript' src='jquery-ui.min.js'>
</script>
<script type='text/javascript' src='jquery.js'>
</script>
<script type='text/javascript' src='jquery-ui-custom.js'>
</script>
<script type='text/javascript' src='jquery.ui.datepicker.js'>
</script>
<script type="text/javascript">
$(function() {
$('#datepicker').datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'mm/dd/yy',
//firstDay: 1,
onSelect: function(dateText, inst) {
dateText.split('/');
Bdate = new Date(dateText[2], dateText[0] - 1, dateText[1]);
BDateArr = ('' + Bdate).split(' ');
//document.getElementById('DOW').value = BDateArr[0];
Cdate = new Date;
CDateArr = ('' + Cdate).split(" ");
Age = CDateArr[3] - BDateArr[3];
document.getElementById('AGE').value = Age;
// DOBcalc(dateText);
//DOBcalc();
}
})
});
</script>
</head>
<body>
<form>
DOB (mm/dd/yyyy):
<input type="text" id="datepicker" value=''>
Age:
<input id="AGE" type="text" value="">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Yi *_*ang 10
您可以尝试使用此函数作为onSelect事件处理程序:
$('#dob').datepicker({
onSelect: function(value, ui) {
var today = new Date(),
dob = new Date(value),
age = new Date(today - dob).getFullYear() - 1970;
$('#age').text(age);
},
maxDate: '+0d',
yearRange: '1920:2010',
changeMonth: true,
changeYear: true
});
Run Code Online (Sandbox Code Playgroud)
这应该是非常准确的(并且比我的旧代码好得多),因为所有内容都已传递给本机Date对象.
请看这里的简单演示:http://www.jsfiddle.net/yijiang/PHvYK/1