使用变量值时,引导日期选取器将持续时间添加到结束日期问题



我有以下代码。如果我使用某些值,它工作正常,但是当我从变量(var 持续时间)传递值时,它会显示错误的结果。

$('#startdate, #enddate').datepicker({
  format: 'yyyy-mm-dd',
  autoclose: true,
});
$('#duration').change(function() {
  var date2 = $('#startdate').datepicker('getDate');
  var duration = $(this).val();
  //alert(duration);
  date2 = new Date(date2);
  date2.setMonth(date2.getMonth() + duration);
  $('#enddate').datepicker('setDate', date2);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.1/js/bootstrap-datepicker.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.1/css/bootstrap-datepicker.css" rel="stylesheet" />
<input class="form-control" type="date" name="startdate" id="startdate">
<select name="duration" id="duration">
  <option>Select month</option>
  <option value="1">1</option>
  <option value="3">3</option>
  <option value="6">6</option>
  <option value="12">12</option>
  <option value="24">24</option>
  <option value="36">36</option>
</select>
<input class="form-control" type="date" name="enddate" id="enddate">
   

只需将整数解析设置为持续时间变量即可。

var duration = parseInt($(this).val());

就这样

最新更新