日期添加公式javascript

时间:2015-04-24 20:20:45

标签: javascript php jquery html

我正在研究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字段的内容。

基本上我想要一个日期添加公式。对不起,如果我不明确。

提前致谢。

1 个答案:

答案 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/