使用JavaScript从下拉列表中获取所选日期

时间:2012-04-03 21:15:45

标签: javascript date drop-down-menu

我所拥有的是一个JAVA脚本,它显示了3个日期,月份和年份的下拉窗口。 默认选择今天的日期。 该脚本来自:http://www.javascriptkit.com/script/script2/curdateform2.shtml

我想补充的内容如下:

1)说默认或选择的日期是2012-02-15。我想要一个文字出现说:“所选日期是:2012-02-15”

2)我还想计算所选日期+ 30天,并以类似方式显示。  到目前为止,我一直在用神的结果编写php,mysql代码。但我不得不说我的知识是JavaScript非常有限。  谢谢!

你好克里斯!

我尝试了你的第二个建议

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激活该功能。据我所知,当使用下拉列表并更改日期时,代码没有反应......现在我可以解决这个问题吗?

1 个答案:

答案 0 :(得分: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