javascript - JQuery attr不设置最大值但设置html输入标签的最小值

标签 javascript jquery html date input

我正在使用一些 JQuery/Javascript 和 HTML 标签。我有一个 javascript 文档,用于设置 HTML5 中输入标记的最大/最小值。我可以为两个标签设置最小值,但未设置最大值。有人看到我可能遗漏的任何明显的东西吗?我只是有点困惑为什么最小值设置得很好但最大值却没有。感谢您的帮助。

日期.html

Start Date (mm/yyyy): <input type="date" id="start_date" min="" max="">
End Date (mm/yyyy): <input type="date" id="end_date" min="" max=""/>

日期.js

//Last Valid/Year = 2014-06-01
//First Month/Year = 2012-11-01
//Max does not work even if I hard code it.

jQuery('#start_date').attr({ "max": lastValidYear.toString() + "-" + lastValidmonth.toString() + "-" + "01", "min": FirstYear.toString() + "-" + FirstMonth.toString() + "-" + "01"});
jQuery('#end_date').attr({ "max": lastValidYear.toString() + "-" + lastValidmonth.toString() + "-" + "01", "min": FirstYear.toString() + "-" + FirstMonth.toString() + "-" + "01" });

最佳答案

天哪,一个非常简单的修复,花了我一整天的时间。我的最后一个有效年份是 2014 年 6 月 30 日。但最大值需要以 yyyy/mm/dd 格式读取。修复方法是,如果不是 10 月、12 月或 11 月,则在月份前添加 0,并确保您选择的日期是该月中的有效日期。即,我是在2014年6月31日读书的,六月没有31天。因此最终的字符串需要读取为 2014-06-30 而不是 2014-6-31

jQuery('#end_date').attr({
    "min": v.FirstYear.toString() + "-" + v.FirstMonth.toString() + "-" + "01",
    "max":  v.LastYear.toString() + "-" + "0" + v.LastMonth.toString() + "-" + "30",
    "value": v.LastYear.toString() + "-" + "0" + v.LastMonth.toString() + "-" + "01"
 });

关于javascript - JQuery attr不设置最大值但设置html输入标签的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25166306/

相关文章:

html - :first-child, :last-child 不工作

javascript - 以编程方式将键发送到输入字段?

Javascript:如何检查网址是否存在?

javascript - jQuery 代码可以在 Firebug 中运行,但不能单独运行

php - 跟踪用户在页面上停留的时间?

javascript - 以横向模式打印页面时在哪里分页?

javascript - jquery - 选中复选框时显示文本框

javascript - Angular Js 弹出菜单

jquery - 无法居中动态插入的图像

javascript - 使用 JavaScript 数学。作为 HTML Canvas .fillRect 坐标的方法