代码之家  ›  专栏  ›  技术社区  ›  TarangP

附加区域的自动年龄计算

  •  0
  • TarangP  · 技术社区  · 6 年前

    我正在准备一张登记表。里面有一个 主要形式 另一个是子窗体。不需要子窗体。它是可选的。单击将打开 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 回复  |  直到 6 年前
        1
  •  0
  •   ReSedano    6 年前

    问题在于:

    $(".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>