使用HTML 5,CSS,JavaScript和JQuery创建Web应用程序。
我使用了新的Date()函数来生成今天的日期。 我还使用了JQuery“datepicker”函数,以允许用户选择他们的DOB。这些都很完美。
我想要的是在选择DOB时计算年龄。 我已经包含了一个函数来计算依赖于日期和DOB但不能让它将数字返回到屏幕的年龄。这可以在下面看到。
<tr>
<td>Age:</td>
<!--td><input type="text" id="age" /></td-->
<td>
<script type = "text/javascript">
var date = document.getElementById("adDate").value
var dob = document.getElementById("datepicker").value
var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/
if (pattern. test(dob)) {
var currentYear = date.getFullYear()
var birthYear = date.getFullYear()
var age = currentYear - birthYear
document.write(age)
}
</script>
<td>
</tr>
我在线搜索解决方案,但只是获得基本的JavaScript年龄计算。 任何帮助将不胜感激。
非常感谢。
我尝试应用一些更改,但无济于事。 我更新了JS,如下所示。
var date = document.getElementById("adDate").value
var dob = document.getElementById("datepicker").value
var pattern = /^\d{1,2}\/\d{1,2}\/\d{4}$/
if (pattern. test(dob)) {
var currentYear = new Date(date).getFullYear()
var birthYear = new Date(dob).getFullYear()
var age = currentYear - birthYear
var spanAge = document.getElementById("age")
spanAge.innerHTML = age
}
还有HTML。
<tr>
<td>Age:</td>
<td><span id="age"></span></td>
</tr>
必须与使用datepicker生成DOB有关。我尝试应用onSelect函数,但似乎没有任何效果。
还有其他建议吗?
答案 0 :(得分:0)
您应确保创建有效的Date对象,您可以从UI元素中传递值:
var currentYear = new Date().getFullYear()
var birthYear = new Date('5/6/1987').getFullYear()
var age = currentYear - birthYear
答案 1 :(得分:0)
修复您的代码:
var currentYear = new Date(date).getFullYear()
var birthYear = new Date(dob).getFullYear()
恢复您的表格单元格:
<td><span id="age"></span></td>
而且,而不是document.write使用这个:
// document.write(age) // Remove this line.
var spanAge = document.getElementById("age")
spanAge.innerHTML = age
这是一个模拟:
答案 2 :(得分:-2)
您应该选择一个html元素来显示结果
例如:
<div id = "printHere"></div>
<tr>
<td>Age:</td>
<!--td><input type="text" id="age" /></td-->
<td>
<script type = "text/javascript">
//assuming you have "age" here
//using jquery
$("#printHere").html(age);
}
</script>
<td>