首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据输入值动态更改datepicker中的日期

根据输入值动态更改datepicker中的日期
EN

Stack Overflow用户
提问于 2019-08-11 13:59:38
回答 1查看 2.8K关注 0票数 0

我有一个出生日期计算器,它可以很好地计算用户的年龄在年,月和天(23年,11个月,5天)在他们各自的字段中,我想是每当用户在年,月或天字段中输入值时,日期选择器日期应该动态变化。

我试图从date对象中减去Date,但它不起作用。

代码语言:javascript
复制
$(document).ready(function(){
    $('#day').keydown(function (event) {
        if (event.which === 13) {
            var dayval = $("#day").val();
            var monthval = $("#month").val();
            var yearval = $("#year").val();
            var sync = $('#dtpicker').datepicker({
                dateFormat: 'dd-mm-yy'
            });
            var today = new Date();
            var substractday = today - dayval
            var substractmonth = today - monthval
            var substractyear = today - yearval
            $("#dtpicker").val(substractday);
            $("#dtpicker").val(substractmonth);
            $("#dtpicker").val(substractyear);
        }
    });
});
代码语言:javascript
复制
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div>
    <div>
        <input type="text" name="dob" id="dtpicker">
    </div>
    <div>
        <input type="text" name="year" id="year" placeholder="Enter Your Age in Year">
    </div>
    <div>
        <input type="text" name="month" id="month" placeholder="Enter Your Age in Month">
    </div>
    <div>
        <input type="text" name="day" id="day" placeholder="Enter Your Age in Day">
    </div>
</div>

Datepicker date应根据用户的输入自动计算其日期,例如:datepicker中的今天日期是11-08-2019 (dd-mm-yy)如果用户在year字段中输入"1“,则应在datepicker中将日期计算为11-8-2018。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-11 22:01:12

您需要像Add year to todays date这样的东西来根据年份的差异计算日期,并需要https://api.jqueryui.com/datepicker/#method-setDate来设置DatePicker值:

代码语言:javascript
复制
var today = new Date();
let birthday = new Date(today.getFullYear() - yearval,
                        today.getMonth() - monthval, 
                        today.getDate() - dayval);
$("#dtpicker").datepicker("setDate", birthday);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57447681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档