我正在处理一张注册表。其中有一个主表单,另一个是子表单。子表单不是必需的。子表单是可选的。点击add more
即可打开。
下图说明添加子窗体的过程
因为我正在使用age field
。这是在选择日期时自动计算得出的。以下是我的主表单要计算的代码
$(document).on('change', '.dateholder1', function(e){
var dob = new Date($(this).val());
//var dob = e.date;
var today = new Date();
var age = Math.floor((today-dob) / (365.25 * 24 * 60 * 60 * 1000));
$(".ageclass1").val(age);
});
它可以以主要形式正常工作。但是我如何在子表格上显示年龄?
请检查我的小提琴http://jsfiddle.net/5h1rpjqs/
答案 0 :(得分:0)
问题在这里:
$(".ageclass1").val(age);
'因为我们有很多“ .ageclass1”,浏览器无法理解要更改哪个,然后全部更改(^ _ ^;)。因此,我们必须使用以下内容更改该行:
$(this).next().val(age);
这是新代码
$(document).on('change', '.dateholder1', function(e){
var dob = new Date($(this).val());
//var dob = e.date;
var today = new Date();
var age = Math.floor((today-dob) / (365.25 * 24 * 60 * 60 * 1000));
$(this).next().val(age);
});
$(".addDate").click(function(){
$("#appenddiv").append($("#appendContent").html() + "<div class='clearfix'></div>");
});
这是新的jsfiddle:http://jsfiddle.net/5h1rpjqs/5/
$(document).on('change', '.dateholder1', function(e){
var dob = new Date($(this).val());
//var dob = e.date;
var today = new Date();
var age = Math.floor((today-dob) / (365.25 * 24 * 60 * 60 * 1000));
$(this).next().val(age);
});
$(".addDate").click(function(){
$("#appenddiv").append($("#appendContent").html() + "<div class='clearfix'></div>");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>This is working demo</h3><br>
<input type="text" name="date" class="dateholder1" placeholder="yyyy/mm/dd">
<input type="text" name="age" class="ageclass1" placeholder="age">
<span class='addDate'>Add</span>
<br><br>
<div id="appenddiv">
</div>
<div style="display:none" id='appendContent'>
<input type="text" name="date" class="dateholder1" placeholder="yyyy/mm/dd">
<input type="text" name="age" class="ageclass1" placeholder="age"><br>
<span>How Can i Calculate age here On Change dateHolder</span>
</div>