我正在创建一个可以注册狗的网站
在注册表格中,您可以使用jquery datepicker输入您的狗的生日。这部分有效。
目标
1)当用户选择生日时,我想自动计算输入日期和今天之间的差异。
2)使用日期之间的差异在另一个表格字段中显示狗的年龄组。
(小狗(<6个月),年轻(<2岁),成人(&lt; 6岁) )等等......)
我的代码
<!-- Datepicker -->
<script>
$(function() {
$( "#datepicker" ).datepicker({
dateFormat: "dd. MM yy",
altFormat: "yy-mm-dd",
altField: "#dog_pet_birthdate",
maxDate: "0",
<!-- my attempt on calculating the difference
between the entered date and the current date -->
onSelect: function () {
var birthDate = $("#dog_pet_birthdate").datepicker("birthdate");
var now = new Date();
var days = (now - birthDate) / (1000 * 60 * 60 * 24);
$("#dog_pet_age").val(days);
}
});
});
</script>
<!-- the register form (the relevant parts)-->
<label>Birthday:</label>
<!-- date to be displayed -->
<input type="text" name="birthdate" id="datepicker" placeholder="your dog's brithdate" readonly="readonly" required>
<!-- date to be written to the database using the altField -->
<input type="hidden" name="dog_pet_birthdate" id="dog_pet_birthdate">
<!-- the input field, in which I would like to output the age group depending on the date difference -->
<label>Age group</label>
<input type="text" name="dog_pet_age" placeholder="your dog's age" readonly="readonly" required>
我真的被卡住了,我甚至无法计算现在和输入日期之间的差异,因此我甚至没有尝试我的问题的第二部分。如果有人可以帮我解决这两个问题,我会感激不尽!
答案 0 :(得分:1)
您的var birthDate
无法正常使用。
要获取日期,您需要使用getDate
,see here。
您应该执行以下操作:
var birthDate $("#datepicker").datepicker(' getDate ');
然后,您可以使用此差异来显示您想要的内容:
if(parseInt(your_string)<60){
$("#dog_pet_age").val("your value");
}
else if(parseInt(your_string)<120){
$("#dog_pet_age").val("another..");
}
else
{
$("#dog_pet_age").val("the rest!");}
答案 1 :(得分:1)
尝试类似:
var now = Date.now();
var date = $("#datepicker").datepicker(' getDate ');
var days = (now - date)/1000/60/60/24;
$('#example').val() = days;