javascript - onkeyup 根据出生日期获取年龄

标签 javascript jquery

我创建脚本在 keyup 上按出生日期获取年龄,但是 我有个问题。因为,当我打字时 示例:我输入:1955-11-13 此结果显示 NaN

这是我的脚本:

    <script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript"> 
$(document).ready(function() {
 var fulldate = document.getElementById('fulldate');
    var result = document.getElementById('result');
        $('#fulldate').keyup(function(){
        var birthdate = fulldate.value; 
        var cur = new Date();
        var diff = cur-birthdate;
        var age = Math.floor(diff/31536000000);
           result.value = age;
   });
 });
</script>


Date : <span><input   id="fulldate"  type="text"   value="1995-11-13" /></span>
<br/><br/>
Age  : <span><input  id="result" type="text"  /></span>

但是如果不使用 keyup 这个脚本可以正确运行

此脚本正确运行:

<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript"> 
$(document).ready(function() {
        var birthdate = new Date("1995/11/13");
        var cur = new Date();
        var diff = cur-birthdate;
        var age = Math.floor(diff/31536000000);
           alert(age);

 });
</script>

帮我谢谢

最佳答案

Document Ready函数中,您使用varbirthdate = new Date(fulldate.value),但在Keyup函数中,您仅使用 var 出生日期 = fulldate.value。它带来了不同。

使用varbirthdate = new Date(fulldate.value)来获取结果。

你可以看看 fiddle 。 https://jsfiddle.net/80hrn55f/

关于javascript - onkeyup 根据出生日期获取年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156678/

相关文章:

jquery - 在 Google map 信息窗口中使用 jQuery

javascript - 不显示输入字段的默认值

javascript - 什么是 DOM 对象的反向引用?

javascript - 在 Chrome 的 Javascript 中更改占位符颜色

javascript - 如果服务器 http 状态不是 200,则启用 CORS

javascript - 我怎样才能得到一个 contenteditable html 元素的光标行号?

javascript - Microsoft Edge 刷新按钮不执行 onLoad javascript 代码

javascript - 换行后垂直对齐

javascript - 按键/更新未正确调用?

javascript 在另一个函数下运行一个函数