[英]jQuery/JavaScript function not updating textbox
我正在使用Bootstrap DatePicker: https : //github.com/eternicode/bootstrap-datepicker
我将它附加到两个框上-InvDate和InvDueDate-它弹出确定,并设置日期等就好了。
但是,我有一个下拉框,当选中该框时,我想在InvDate框中输入日期,并将下拉列表的val()添加到InvDate,然后填充InvDueDate。
但是,我似乎无法获得InvDueDate来更改其日期(不执行任何操作)-下拉框确实触发了该功能,但此行似乎没有执行任何操作:
$("#InvDueDate").datepicker("setDate", duedate);
:
HTML是:
<div class="editor-label">
<label for="InvDate">InvDate</label>
</div>
<div class="editor-field">
<input class="textbox datepicker" data-val="true" data-val-date="The field InvDate must be a date." data-val-required="The InvDate field is required." id="InvDate" name="InvDate" type="text" value="02 May 2013" />
<span class="field-validation-valid" data-valmsg-for="InvDate" data-valmsg-replace="true"></span>
</div>
<div class="editor-label">
<label for="Terms">Terms</label>
</div>
<div class="editor-field">
<select id="Terms" name="Terms"><option value="0">Due on invoice date</option>
<option value="7">Net 7 days</option>
<option value="14">Net 14 days</option>
<option value="21">Net 21 days</option>
<option value="28">Net 28 days</option>
<option value="45">Net 45 days</option>
<option value="60">Net 60 days</option>
</select>
</div>
<div class="editor-label">
<label for="InvDueDate">InvDueDate</label>
</div>
<div class="editor-field">
<input class="textbox datepicker" data-val="true" data-val-date="The field InvDueDate must be a date." data-val-required="The InvDueDate field is required." id="InvDueDate" name="InvDueDate" type="text" value="02 May 2013" />
<span class="field-validation-valid" data-valmsg-for="InvDueDate" data-valmsg-replace="true"></span>
</div>
我的jQuery / Javascript是:
<script type="text/javascript">
$(document).ready(function () {
$("#Terms").change(function () {
var invdate = new Date();
var duedate = new Date();
invdate = $("#InvDate").val();
var net = $("#Terms").val();
duedate.setDate(invdate.getDate() + net);
$("#InvDueDate").datepicker("setDate", duedate);
});
});
</script>
对我要去哪里的人很明显吗?
更新以显示工作代码
var start_date = new Date($('#InvDate').val());
var duration = parseInt($('#Terms').val());
var end_date = new Date();
end_date.setDate(start_date.getDate() + duration);
$("#InvDueDate").datepicker("setDate", end_date);
我认为您的日期格式不正确,请参见:
var invdate = new Date();
然后被替换
$('#invDate').val();
但是应该是:
var invDate = new Date($('#invDate').val());
或(如zeroflagL所述 )
var invDate = $('#invDate').datepicker('getDate'); //gives you a Date object
您确定setDate是$ .datepicker可用的方法吗? 没有在文档中列出
这可能是您想要的? https://github.com/eternicode/bootstrap-datepicker#update
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.