JQuery attr没有设置最大值但为html输入标签设置min

时间:2014-08-06 17:15:43

标签: javascript jquery html5 date input

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

date.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=""/>

date.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" });

2 个答案:

答案 0 :(得分:1)

哦,我的天哪,一个非常简单的解决方案,整天把我带走了。我的最后一个有效年份是2014-6-30。但最大值需要以yyyy / mm / dd格式读入。修复是在月份之前添加0,如果不是10月,12月或11月,并确保您选择的那一天是该月的有效日期。 I.E,我在2014-6-31阅读,6月份没有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"
 });

答案 1 :(得分:0)

使用Firstmonth代替FirstMonth“使用的未知变量。这是问题。”

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" });