2013-03-20 14 views
0
中添加天

我需要使用JavaScript中的onclick事件處理函數中的單選按鈕中的參數將某些天數添加到日期對象中。當我簡單地添加一天到最後它只是在日期的末尾添加1等。有任何想法嗎?從參數

var dateObject = new Date(); 
var month = dateObject.getMonth(); 

var monthArray = new Array("January", "February", "March", "April", 
          "May", "June", "July", "August", 
          "September","October","November","December"); 

function orderReadyDate(orderTime) 
{ 
    var dateToday = monthArray[month] + " " + dateObject.getDate() + ", " + dateObject.getFullYear(); 
    document.forms[0].txtPickupDate.value = dateToday; 
} 

這裏是我的輸入按鈕

<input type="radio" name="item" value="print_5x7" onclick="orderReadyDate(1)" />5x7 Prints(1 day)<br /> 
<input type="radio" name="item" value="poster" onclick="orderReadyDate(1)" />Poster (1 day)<br /> 
<input type="radio" name="item" value="mug" onclick="orderReadyDate(2)" />Coffee Mug (2 days)<br /> 
<input type="radio" name="item" value="shirt" onclick="orderReadyDate(3)" />T-shirt (3 days)</p> 
+0

我明白你接受了他的答案,但在給予好評,將不勝感激,因爲他基本上是在我的答案 – 2013-03-20 03:16:59

+0

@只是改善JamesDaly,但其中date +訂單時超出了月底你的答案會爲任何日期失敗。 – RobG 2013-03-20 03:31:02

+0

我同意詹姆斯,雖然他給了我正在尋找的答案。 (我會這樣做,但我不是15,對不起..) – 2013-03-21 06:15:45

回答

0

你需要試試這個: - 注意的setDate方法,加起來的日期。

var newdate = new Date(); 
newdate.setDate(newdate.getDate() + orderTime); 
var dateToday = monthArray[newdate.getMonth()] + " " + 
       newdate.getDate() + ", " + 
       newdate.getFullYear(); 
+0

您應該確保'orderTime'的值在將其添加到'dateToday'之前是一個數字。如果是字符串,您可能會對結果日期感到驚訝。例如。你可以這樣做:'newdate.getDate()+ + orderTime'。 – RobG 2013-03-20 03:29:57

0
var dateToday = monthArray[month] + " " 
     + (dateObject.getDate() + orderTime) 
     + ", " + dateObject.getFullYear(); 
+0

把它放在螢火蟲,它的工作給了我 「2013年3月20日」 – 2013-03-20 01:37:52

+0

所以在你的情況下,這將是+ orderTIme – 2013-03-20 01:38:43

+0

你真了不起!詹姆斯不夠感謝你! – 2013-03-20 01:57:39