自动计算附加区域的年龄

时间:2018-08-03 09:50:27

标签: php jquery ajax

我正在处理一张注册表。其中有一个主表单,另一个是子表单。子表单不是必需的。子表单是可选的。点击add more即可打开。 下图说明添加子窗体的过程 enter image description here

在点击addData时,将打开以下表单 enter image description here

因为我正在使用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/

1 个答案:

答案 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>