在不带表单的选定标记中的最后7天
Last 7 days in a select Tag without form
在我的Angular应用程序中,我应该在一个表单中的select标签中列出过去的7天,作为其中的一部分,我设法以一种简单的方式列出了它们,代码如下:
HTML
<div>
<form name="datelist">
<select name="prevdays" style="width:200px">
<option selected value="#">pick one</option>
</select>
</form>
</div>
JS
window.onload = function() {
var noOfDays = 10;
var msPerDay = 86400000;
var months = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
var d = document;
console.log(document);
var f = d.datelist;
var s = f.prevdays;
// change i to 1 if you want to start with yesterday.
for (i = 0; i < noOfDays; i++) {
var D = new Date();
with(D) {
setTime(valueOf() - (i * msPerDay));
}
/* var txt = months[D.getMonth()] + ' ' + D.getDate() + ', ' + D.getFullYear();
*/
var txt = D.getFullYear() + '-'+months[D.getMonth()] +'-'+ D.getDate() ;
var val = D.getFullYear() + '' + (D.getMonth() + 1 < 10 ? '0' + (D.getMonth() + 1) : D.getMonth() + 1) + '' + (D.getDate() < 10 ? '0' + D.getDate() : D.getDate());
s.options[s.options.length] = new Option(txt, val);
}
}
所以这里有两个问题:
1) HTML我应该把它们放在一个表单标记中,但据我所知,到目前为止,HTML中不允许嵌套的form
标记(???),如何克服这个问题??
2) 上面的解决方案只在没有角度的情况下工作,如果我把这个相同的代码放在我真正的角度应用程序中,它就不工作了(以前),它只显示一个option
,即<option selected value="#">pick one</option>
在DOM树中。
仅供参考:控制台错误为
未捕获的类型错误:无法读取未定义的属性"prevdays"。
非常感谢您的帮助,谢谢您抽出时间。
var f = d.datelist;
在这一行中,您试图按名称访问表单,但不能这样做。在HTML5中,不赞成按名称访问元素,因此应该使用ID。
var f = d.getElementById("datelist");
var s = f.children[0]; //You could also give it an ID if you prefer
这就是为什么它是未定义的。
您也可以在表单之外使用select元素,这样就不必担心嵌套表单了。
相关文章:
- 在JavaScript中重构上个月的第一天和最后一天的代码(node.js)
- 如果今天是会计年度的最后一天,请从下拉菜单中删除当前年份
- 从'获取本月的最后一天;2015-02-23'字符串(javascript)
- 在不带表单的选定标记中的最后7天
- 当日期在不同月份时,如何获取本周的第一天和最后一天
- 如何仅使用日期选择器 Jquery 启用月份的最后几天
- 不知何故,应用程序脚本无法获得本月的最后一天
- JavaScript:获取每月的第一天和最后一天,格式为 YYYY.唰
- 如何使引导日期选择器选择当分钟视图模式:1时选择当月的最后一天而不是第一天
- 如何在Javascript中生成从当前天到最后一天的日期
- 如何在Javascript或JQuery中获取上个月的最后一天
- Moment.js返回1作为月份的最后一天
- 如何在JavaScript中使用日期对象获取最后一天的数据
- 获取特定年份和月份最后一天的日期对象datejs
- 时刻js得到本月的第一天和最后一天
- 将月份映射到该月份最后一天的编号
- 如何使用javascript验证日期是否为一个月的最后一天
- javascript获取前一周的第一天和最后一天
- 每月的最后一天(无时间戳)
- 如何检查日期是否是一个月的最后一天