0

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

4

1 回答 1

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

于 2012-04-03T21:24:52.040 回答