如何使用jQuery

时间:2017-07-01 06:58:40

标签: javascript jquery

我输入如下文字:

$('#term').change(function() {
  var ll = $(this).val();
  var bb = $('#date').val();
  var date = new Date(bb);
  var newDate = new Date(date);
  newDate.setDate(newDate.getDate() + parseInt(ll));
  var dd = newDate.getDate();
  var mm = newDate.getMonth() + 1;
  var y = newDate.getFullYear();
  var someFormattedDate = dd + '-' + mm + '-' + y;
  $('#due_date').val(someFormattedDate);
});
div {
  margin: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
  <label for="date">Date:</label>
  <input id="invodate" type="text" id="date" class="form-control" name="date" value="" style="width: 150px;">
</div>
<div class="form-group">
  <label for="term">Term:</label>
  <input type="text" class="form-control" id="term" name="term" value="" style="width: 50px;">
</div>
<div class="form-group">
  <label for="due_date">Due Date:</label>
  <input type="text" class="form-control" id="due_date" name="due_date" value="" style="width: 150px;">
</div>

我想在输入显示日期给出input #term天然后到期日,但在我的代码中仅显示NaN-NaN-NaN。我的代码有什么错误。谢谢你的回答。

2 个答案:

答案 0 :(得分:1)

您的第一个输入有两个ID,这是无效的,您将日期对象传递给Date构造函数。

使用普通的javascript

非常简单

$('#term').change(function() {
  var ll = $(this).val();
  var bb = $('#date').val();
  var date = new Date(bb);

  date.setDate(date.getDate() + (+ll));

  var dd = date.getDate();
  var mm = date.getMonth() + 1;
  var y = date.getFullYear();
  var someFormattedDate = dd + '-' + mm + '-' + y;

  $('#due_date').val(someFormattedDate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
  <label for="date">Date:</label>
  <input type="text" id="date" class="form-control" name="date" value="05-05-2017" style="width: 150px;">
</div>
<div class="form-group">
  <label for="term">Term:</label>
  <input type="text" class="form-control" id="term" name="term" value="" placeholder="type here" style="width: 50px;">
</div>
<div class="form-group">
  <label for="due_date">Due Date:</label>
  <input type="text" class="form-control" id="due_date" name="due_date" value="" style="width: 150px;">
</div>

答案 1 :(得分:-1)

Nan(非数字)getDate函数不返回整数。 Object + 11不是有效的操作(大部分时间都是!)。

您可以使用Datejs提到的here

var duedate = new Date.today().addDays(11);