【问题标题】:Due date calculate based on the user input and start date in datepicker到期日根据用户输入和日期选择器中的开始日期计算
【发布时间】:2015-10-19 11:04:10
【问题描述】:

你好,根据用户输入和开始日期计算结束日期

<div class="form-group">
    <label>Months</label>
    <input type="text" name="chit_months" class="form-control">
</div>
<div class="form-group">
    <label>Start Date</label>
    <div class='input-group date' id='datetimepicker1'>
        <input type='text' class="form-control" name="start_date" id="example1" />
        <span class="input-group-addon">
            <span class="glyphicon glyphicon-calendar"></span>
        </span>
    </div>
</div>

<script>
    $('#example1').datepicker({
        format: "dd/mm/yyyy"
    });

    $('#example2').datepicker({
        format: "dd/mm/yyyy"
    });
</script>

我正在使用日期选择器,如果用户在文本框中输入月份并选择开始日期,结束日期应该由 jQuery 自动计算

请帮助我知道如何做到这一点。

【问题讨论】:

  • 您还需要分享您的代码 - 您尝试过的 html 和脚本
  • 抱歉,我现在添加了运行我的 html 代码。

标签: jquery html datepicker


【解决方案1】:

下面的代码为您提供两个日期之间的差异,您可以计算您的到期金额

function getDueDays(){
   var sdate = new Date($('#startDate').val());
   var month = new Date($('#month').val());
   Date dd= new Date(new Date(sdate).setMonth(sdate.getMonth()+month));
   $('#endDate').val(dd);  
}

【讨论】:

  • 嗨,毗湿奴,谢谢您的回复。实际上,用户从日期选择器中选择开始日期后,在开始日期的文本框中输入月份,结束日期应该自动计算,并且结束日期框是只读的。这所有过程都必须在提交之前完成
  • datepicker 现在不工作 vishnu 我添加了脚本函数 getDueDays(){ $('#example1').datepicker({ format: "dd/mm/yyyy" }); $('#example2').datepicker({ 格式:"dd/mm/yyyy" }); var sdate = new Date($('#example1').val()); var month = new Date($('#month').val());日期 dd= new Date(new Date(sdate).setMonth(sdate.getMonth()+month)); $('#example2').val(dd); }
【解决方案2】:

你可以的

jQuery(function($) {
  $('#example1').datepicker({
    dateFormat: "dd/mm/yy"
  });

  $('#example2').datepicker({
    dateFormat: "dd/mm/yy"
  });

  $('#chit_months, #example1').change(function() {
    var months = +$('#chit_months').val() || 0,
      date = $('#example1').datepicker('getDate');
    if (months && date) {
      date.setMonth(date.getMonth() + months);
      $('#example2').datepicker('setDate', date);
    } else {
      $('#example2').val('');
    }
  })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet" />
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.css" rel="stylesheet" />


<div class="form-group">
  <label>Months</label>
  <input type="text" id="chit_months" name="chit_months" class="form-control" />
</div>
<div class="form-group">
  <label>Start Date</label>
  <div class='input-group date' id='datetimepicker1'>
    <input type='text' class="form-control" name="start_date" id="example1" />
    <span class="input-group-addon">
      <span class="glyphicon glyphicon-calendar"></span>
    </span>
  </div>
</div>
<div class="form-group">
  <label>End Date</label>
  <div class='input-group date' id='datetimepicker2'>
    <input type='text' class="form-control" name="start_date" id="example2" />
    <span class="input-group-addon">
      <span class="glyphicon glyphicon-calendar"></span>
    </span>
  </div>
</div>

【讨论】:

  • 完美运行
  • arun 我还有一个疑问,日期格式是 dd/mm/yyyy,但它显示月份/日期/年份我该如何更改它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多