我正在研究php中的发票生成程序。在其中我使用datetimepicker来使用发票生成日期和截止日期。现在,我希望通过向发票生成日期库添加特定值来自动填充到期日期字段。以下是我的HTML:
<div class = "col-lg-4">
<select id = "invoice_duration" class="form-control input-group placeholder">
<option>10</option>
<option>20</option>
<option>30</option>
<option>40</option>
<option>50</option>
<option>50</option>
</select>
</div><br><br>
<div class = "col-lg-6">
<h4> Invoice Date </h4>
<div class="input-append date datetimepicker">
<input id = "invoice_date" style = "height : 35px;" style = "height : 30px;" style = "height : 30px;" type="text" name = "invoice_date">
<span style = "height : 35px;" class="add-on">
<i style = "padding-top:5px;" data-time-icon="fa fa-time" data-date-icon="fa fa-calendar"></i>
</span>
</div>
</div>
<div class = "col-lg-6">
<h4> Due Date </h4>
<div class="input-append date datetimepicker">
<input id = "due_date" style = "height : 35px;" style = "height : 30px;" type="text" name = "due_date">
<span style = "height : 35px;" class="add-on">
<i style = "padding-top:5px;" data-time-icon="fa fa-time" data-date-icon="fa fa-calendar"></i>
</span>
</div>
</div>
我的脚本如下:
<script>
$( "#due_date" ).click(function() {
var invoice_date = $("#invoice_date").val();
var invoice_duration = $("#invoice_duration").val();
var splited_invoice_date = invoice_date.split("/");
var day = splited_invoice_date[0];
var month = splited_invoice_date[1];
var year = splited_invoice_date[2];
var total_days = (+year_days) + (+month_days) + (+days);
alert('day :' +day+ 'Month :' +month+ 'Year :' +year);
});
使用这个我成功获得警报给我隔离日期。现在可以轻松添加&#34;选择&#34;字段并将其添加到invoice_generation_date以最终获取要放入due_date字段的内容。
基本上我想要一个日期添加公式。对不起,如果我不明确。
提前致谢。
答案 0 :(得分:1)
我会在更改上一个字段时触发事件,而不是输入点击。
在js中添加天数的最简单方法是在一天内使用秒,然后使用格式化原语。
这样的事情应该有效:
$("#invoice_date").change(function(){
var invoice_date = $("#invoice_date").val();
var invoice_duration = parseInt($("#invoice_duration").val(),10);
var d = new Date(invoice_date).getTime()+(invoice_duration*24*60*60*1000);
d = new Date(d);
var dFormatted = d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear();
$("#due_date").val(dFormatted).trigger('click');
});
最后的点击触发器是打开cal popout。如果你不想让它自动发生,你可以删除它。
更简单的小提琴:http://jsfiddle.net/16gov1ms/1/