2012-05-22 72 views
0

我使用jquery tools date input。在我的應用程序中,我有一項功能,允許用戶根據日期範圍檢查他的個人數據。
jquery工具dateinput:addDay(金額)

我有一個加載日期輸入功能的輸入文本字段。當用戶選擇一個日期時,它會在文本字段中顯示:「dddd dd,mmmm yyyy」格式。
什麼,我試圖做的是增加(即一週)7天的區間上限容器顯示新的日期,解釋更多,這是它的外觀:

來源:週五18,2012年5月 要://這裏就是我希望它是:星期五25,2012年5月

我試圖使用內置的API函數:addDay(量),但它似乎沒有工作。 我有以下代碼:

var ret_date = $(this).data("dateinput").getValue('dddd dd, mmmm yyyy'); 
//I tried: $(this).data("dateinput").addDay(7).getValue('dddd dd, mmmm yyyy') 
//but it kept the same currently selected date 
$("#to_field").html(ret_date); 

我搜索在線等,但無法找到一個解決方案。我通常不是前端開發人員,所以我對javascript/jquery的知識並不先進。
任何幫助深表感謝

回答

1

順便說一句,這是我落得這樣做,它的工作:

$("#DateField").change(function(event, date) { 
     //I used format: yyyy-mm-dd 
     var ret_date= $(this).data("dateinput").getValue('yyyy-mm-dd'); 
     //Format the date using javascript 
     //--> For that 2 javascript prototypes have been created(check at the end of the answer)   
     var myDate = new Date(ret_date); 
     myDate.setDate(myDate.getDate()+7); 
     $("#FinalDateField").html(myDate.dateFormat("Y-m-d")); 
}); 

原型:

Date.prototype.dateFormat = function(format) { 
    var result = ""; 
    for (var i = 0; i < format.length; ++i) { 
    result += this.dateToString(format.charAt(i)); 
    } 
    return result; 
} 

Date.prototype.dateToString = function(char) { 
    switch (char) { 
    case "Y": 
    return this.getFullYear(); 
    case "m": 
    return this.getMonth() + 1; //Since months are zero based, add 1 
    case "d": 
    return this.getDate(); 
    default: 
    return char; 
} 
}