我已经搜索了但我没有完全解决我的问题。我可以正常计算年龄。但我不知道如何从输入字段的给定数据计算年龄.I使用 jQuery DatePicker 作为输入字段。我的代码:
$birthday = new DateTime('1970-02-01');
$to = new DateTime('today');
echo $birthday ->diff($to)->y.' Years, '.$birthday ->diff($to)->m.' Months, '.$birthday ->diff($to)->d.' Days ';
这是我的领域:
现在我希望$birthday
将是动态的,它将插入并希望立即显示年龄计算而不加载页面。有任何线索吗?提前谢谢。
答案 0 :(得分:2)
jQuery日期选择器在输入字段中显示日期,<tr>
可用于获取日期。对于客户端计算,在其他答案中提到的id="datepicker"
库是否适合此工作。
momentjs
fromdate = $('#datepicker').val();
console.log(fromdate);
如果要计算服务器端,可以将值传递给PHP,而无需使用Ajax重新加载页面:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="datepicker" class="hasDatepicker" value="2016/14/12">
答案 1 :(得分:1)
如果你想在jQuery中计算年龄,你可以像这样使用moment.js
:
moment("05/05/1998", "MM/DD/YYYY").month(0).from(moment().month(0));
// Output = 22 years ago
$(function() {
var dob = $('.dob').val();
$('.dob').on('input', function(e) {
var a = moment($(this).val(), "MM/DD/YYYY").month(0).from(moment().month(0))
console.log(a);
});
var a = moment($('.dob').val(), "MM/DD/YYYY").month(0).from(moment().month(0))
console.log(a);
})
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='dob' type='text' value="05/05/1996">
&#13;
在您的控制器中,您可以使用Carbon的age
方法,如下所示:
$birthday = Carbon\Carbon::parse('1970-02-01');
$age = $birthday->age;
// Output - (int) 46
请参阅Carbon Docs以获取参考资料
希望这有帮助!
答案 2 :(得分:1)
您需要使用JQuery或Javascript读取数据输入字段的值,然后将该值传递给您的年龄计算函数。
例如,如果您的日期字段具有id =&#34;日期选择器&#34;,那么您可以将日期读作$(&#34;日期选择器&#34;)。val()或文档。的getElementById(&#34;日期选择&#34)。值()