2012-04-03 67 views
0

我擁有的是一個JAVA腳本,它顯示日,月和年的3個下拉窗口。 默認情況下選擇今天的日期。 腳本來自原始來源:http://www.javascriptkit.com/script/script2/curdateform2.shtml使用JavaScript從下拉列表中獲取所選日期

我想補充的是以下內容:

1)假設默認或選定的日期是2012-02-15。我想要一個文字出現說:「選定的日期是:2012年2月15日」

2)我也想計算選定的日期+ 30天,也可以以類似的方式顯示。 到目前爲止,我一直在編寫php,mysql代碼和神的結果。但我不得不說我的知識是JavaScript是非常有限的。 謝謝!

你好Chris!

我想你的第二個建議

var day = document.getElementById('daydropdown').value; 
var month = document.getElementById('monthdropdown').value; 
var year = document.getElementById('yeardropdown').value; 
var date_object = new Date(); 
var ts = Date.parse(year+'-'+month+'-'+day); 
document.getElementById('d1').innerHTML = 'The selected date is: '+ date_object.setTime(ts); 

我也是在人體補充:

<div style="font-weight:bold" id="d1" ></div> 

但我得到的是...選定的日期是:NaN的

在原始代碼的功能是使用window.onload來激活的。據我所知,當使用下拉列表並且日期改變時,代碼沒有反應......現在我可以解決這個問題了嗎?

回答

0

如果沒有該元素的ID從樣本改變:

var day = document.getElementById('daydropdown').value; 
var month = document.getElementById('monthdropdown').value; 
var year = document.getElementById('yeardropdown').value; 

// if you simply want to display it: 
var text = 'The selected date is: '+year+'-'+month+'-'+day; 
alert(text); 

// if you want to work with it, make a Date object 
var date_object = new Date(); 
var ts = Date.parse(year+'-'+month+'-'+day); 

// javascript dates are in miliseconds, 1 day = 86400 seconds, so... 
var thirty_days = 86400 * 1000 * 30; 
date_object.setTime(ts + thirty_days); 

參見文檔:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

相關問題