2016-08-10 127 views
0

我有一個函數在日期中添加了多個日期。但問題是.setDate不是一個函數。這是我的代碼。在日期中添加日期

$('#term').on('change',function(){ 
    var datepo = Aug-10-2016 
    var days = 35 
    var po_date = $.datepicker.formatDate('yy-m-d', new Date(datepo)); 
    po_date.setDate(po_date + parseInt(days)) 

    alert(po_date) 
}) 
+0

添加小提琴或codepan與你的HTML,這將使它更方便地提供幫助。 – Arif

回答

1

setDate預計Date對象https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate

formatDate返回一個字符串https://api.jqueryui.com/datepicker/#utility-formatDate

嘗試

var strDate = "Aug-10-2016"; 
strDate = strDate.replace(/-/g, " "); 
var datepo = new Date(strDate); 
var days = 35; 
datepo.setDate(datepo.getDate() + days); 
var strFormatedPODate = $.datepicker.formatDate('yy-m-d', new Date(datepo)); 

見CodePen這裏:http://codepen.io/ssh33/pen/PzXYrB

+0

結果無效日期 –

+1

我編輯了我的答案並添加了codepen鏈接以方便您。乾杯! – Stack

0

試試這個

$('#term').on('change',function(){ 
 
    var datepo = 'Aug-10-2016'; 
 
    var date_obj = new Date; 
 
    var days = 35; 
 
    var po_date = $.datepicker.formatDate('yy-m-d', new Date(datepo)); 
 

 
    alert(po_date + ' ' + date_obj.setDate(parseInt(days))); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script> 
 

 
<input id="term" type="text" />

0

我最後的答案:

$('#term').on('change',function(){ 
    var datepo = $('#podate').val(); 
    var days = $('#term option:selected').data('termdays'); 
    var po_date = new Date($.datepicker.formatDate('M-dd-yy', new Date(datepo))); 
    var po = new Date(po_date.setDate(po_date.getDate() + parseInt(days))) 
    var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
    var duedate = months[po.getMonth()]+'-'+po.getDate() +'-'+po.getFullYear(); 
    alert(duedate); 
})