选择出生日期后未计算年龄

时间:2016-11-24 13:00:58

标签: jquery jsp struts2 struts2-jquery

您好我按照SO的这个链接计算基于出生日期选择的年龄

Getting age automatically when given Date of Birth

但我无法在年龄字段中计算日期

我使用过struts2-jquery-plugin-3.7.1.jar

<sj:datepicker id="dob" name="dateOfBirth" label="Change Month and Year" changeMonth="true" changeYear="true" displayFormat ="dd-mm-yy"></sj:datepicker>    

<s:textfield class="w3-input w3-border" placeholder="Age" name="age" id="age"/> 

我使用的脚本是:

<script>
    $('#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
    });
</script>

即使我无法滚动查看可用年份列表,我也只能获得10年的清单(我想要从1990年到2016年的可滚动年份,即当年)

我哪里出错了?请帮忙,因为我坚持这个,不知道计算年龄的其他解决方案!!

1 个答案:

答案 0 :(得分:0)

struts2-jquery插件使用标签基于通过插件添加的jquery ui呈现自己的日期选择器。您正在弄乱绑定到同一元素的datetepicker。您应该使用插件的datepicker或本机datepicker,但不能同时使用两者。

要指定1990年至2016年的年份范围,您可以使用选项yearRange: '1900:2016'This is the reference from jQuery API

如果您想使用插件版本的datepicker,那么您应该参考Date Picker Tag Wiki Page

JSFiddle...