JQUERY从DOb&;获取年龄;显示隐藏单元格
我有一个用户表单,我希望htat在用户输入出生日期时,JQUERY计算他们的年龄,如果他们超过35岁,它将显示一个隐藏的div 到目前为止,我已经设法把这件事拼凑起来了JQUERY从DOb&;获取年龄;显示隐藏单元格,jquery,Jquery,我有一个用户表单,我希望htat在用户输入出生日期时,JQUERY计算他们的年龄,如果他们超过35岁,它将显示一个隐藏的div 到目前为止,我已经设法把这件事拼凑起来了 $(document).ready(function() { $('#dob').datepicker({ onSelect: function(value, ui) { var today = new Date(), dob = new Date(valu
$(document).ready(function() {
$('#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: '1960:2010',
changeMonth: true,
changeYear: true
});
if ($(age).val() >= 35) {
// do something
alert("35");
}else{
alert("not 35");
}
});
但是它在页面加载时显示了警告,我确定我只是把一些东西放错了位置,但我不知道是什么。
我已经把警报放进了文本中,只是为了告诉大家什么是有效的,我将用show()替换它,我让它工作起来。
平心而论,我并不是真的为拥有日期选择器而烦恼,它就在我找到的一个例子中,所以我保留了它,如果去掉它更容易,那就好了
谢谢 您的病情错位,您使用的是
$(年龄)
而不是age
或$(“#年龄”).val()
顺便说一下,这不是对年龄的正确计算。您只使用年份。您有块:
if ($(age).val() >= 35) {
// do something
alert("35");
}else{
alert("not 35");
}
onSelect
功能结束后。您需要将该块移动到选择的onSelect
中,或者将其放入更改事件处理程序中
例如:
...
onSelect: function(value, ui) {
var today = new Date(),
dob = new Date(value),
age = new Date(today - dob).getFullYear() - 1970;
$('#age').text(age);
if (age >= 35) {
// do something
alert("35");
}else{
alert("not 35");
}
},
...
编辑 省略号表示我省略了与原始示例相同的代码。以下是完整的示例:
查看关于这个问题的公认答案,找到一个计算年龄的好方法(也可以考虑闰年):这里的答案是将其与jQuery绑定:谢谢您的帮助,但是现在日期选择器没有显示。。这就是我所拥有的啊,你对我的理解有点过于字面化了。:)这个在代码中是为了表明我遗漏了不需要更改的部分。我已经编辑了我的答案以包含完整的解决方案。那更好,我可以发誓我添加了另一部分。。。谢谢你的帮助!如果你对这个答案感到满意,别忘了把它标为正确答案。
...
onSelect: function(value, ui) {
var today = new Date(),
dob = new Date(value),
age = new Date(today - dob).getFullYear() - 1970;
$('#age').text(age);
if (age >= 35) {
// do something
alert("35");
}else{
alert("not 35");
}
},
...
$(document).ready(function() {
$('#dob').datepicker({
onSelect: function(value, ui) {
var today = new Date(),
dob = new Date(value),
age = new Date(today - dob).getFullYear() - 1970;
$('#age').text(age);
if (age >= 35) {
// do something
alert("35");
}
else {
alert("not 35");
}
},
maxDate: '+0d',
yearRange: '1960:2010',
changeMonth: true,
changeYear: true
});
});