显示选择选项文本日期

31 浏览
0 Comments

显示选择选项文本日期

我有一个选择选项下拉框,只显示星期一(选择特定的一周)。\n


\n我想获取选项文本(即Mon 1/7/2013 (Week 02)),并将其用于在表格中显示该周的日期:\n

Mon 1/7/2013 (Week 02) | Tue 1/8/2013 (Week 02) | Wed 1/9/2013 (Week 02)...

\n当选择选项改变时,我希望中的日期也随之改变。目前我拥有的JavaScript代码(它不起作用)是:\n


\n这个能实现吗,还是我在白费力气?\n更新 - 解决方案\n正如建议的那样,我过度使用了引号,所以我去掉了它们。同样,如建议的那样,日期需要进行格式化,因为第一次尝试只提供了时间戳。使用这个日期格式化解决方案,我能够将日期格式化为人类可读的形式。\n完整可运行的JavaScript代码:\n


\n此外,注意我最初设置日期时存在错误,星期一+0,星期二+1,星期三+2,等等(我没有注意到,因为我得到的只是时间戳)。这似乎确实设置了日期,所以星期一和星期二显示正确,但是星期三显示了星期四的日期,星期四显示了星期日的日期,以此类推。通过每次增加+1来解决了这个问题。

0
0 Comments

问题原因:使用JavaScript获取日期格式时可能会出现问题。

解决方法:参考以下链接中的帖子,可以解决这个问题:Javascript get date in format

文章整理如下:

在JavaScript中获取日期格式时可能会遇到一些问题。tymeJV已经给出了答案,但我认为你可能会遇到一些麻烦。我建议参考以下链接中的帖子,可以解决这个问题:Javascript get date in format

0
0 Comments

问题的原因是代码中存在大量不必要的引号,导致代码出错。解决方法是删除这些引号。

下面是修复后的代码:

$("#monday").click(function(){
    var sel = document.getElementById("monday");
    var text = sel.options[sel.selectedIndex].text;
    var mon=new Date(text);
    console.log(mon);
    document.getElementById("mondaydate").innerHTML = mon.setDate(mon.getDate()+0);
});

可以在这里找到修复后的示例代码:[http://jsfiddle.net/bnWRU/1/](http://jsfiddle.net/bnWRU/1/)

0
0 Comments

问题原因:在代码中,变量text被放在引号中,导致它只会显示引号中的内容而不执行任何逻辑。

解决方法:去掉变量周围的引号,使其执行逻辑。同时,对于后续的代码也要去掉引号。

var sel = document.getElementById("monday");
var text = sel.options[sel.selectedIndex].text;
var mon = new Date(text);
document.getElementById("mondaydate").innerHTML = mon.setDate(mon.getDate() + 0);
document.getElementById("tuesdaydate").innerHTML = mon.setDate(mon.getDate() + 1);
document.getElementById("wednesdaydate").innerHTML = mon.setDate(mon.getDate() + 2);
document.getElementById("thursdaydate").innerHTML = mon.setDate(mon.getDate() + 3);
document.getElementById("fridaydate").innerHTML = mon.setDate(mon.getDate() + 4);
document.getElementById("saturdaydate").innerHTML = mon.setDate(mon.getDate() + 5);
document.getElementById("sundaydate").innerHTML = mon.setDate(mon.getDate() + 6);

在这个代码中,变量text被正确地赋值,并且后续的代码也不再包含引号,因此可以正常执行逻辑。

0