Jquery 如何验证选择器以选择特定范围内的日期

Jquery 如何验证选择器以选择特定范围内的日期,jquery,asp.net,Jquery,Asp.net,我有以下两个控件: <div class="control-group"> <label class="control-label">Batch Date:</label> <div class="controls with-tooltip"> <

我有以下两个控件:

<div class="control-group">
                                <label class="control-label">Batch Date:</label>
                                <div class="controls with-tooltip">
                                    <asp:TextBox runat="server" CssClass="mydate input-small" ID="BatchDate_txt" />
                                </div>
                            </div>

                            <div class="control-group">
                                <label class="control-label">Claim Month:</label>
                                <div class="controls with-tooltip">
                                    <asp:TextBox runat="server" CssClass="mydatemonth input-small" ID="ClaimMonth_txt" />
                                </div>
                            </div>
我想要实现的是:当您选择批次日期时,索赔月份应该只允许您在索赔月份之后的90天内进行选择。 注意:索赔月份日期选择器仅显示月份


我不知道我是否说得够清楚,但我该怎么做呢?

我试图完全理解您的要求,尽管您的目标对我来说有点奇怪

无论如何,当jquery将日期附加到元素时,我经常使用beforeShowDay之前的内置选项:

 $('#ClaimMonth_txt').datepicker({..., beforeShowDay : fnCheckDate });
js函数可以是

 var fnCheckDate = function(day) {
     var maxDate = add90Days(convertToDate($('#BatchDate_txt').val()));
     return [day <= maxDate, '', ''];
 } 
对于应该显示的每一天,都会调用此函数,通过这种方式,您可以根据需要逐个禁用或启用它们,将true或false设置为返回数组中的第一个值

我对索赔月份日期选择器仅显示月份的声明表示怀疑。那么,用有效月份而不是日期选择器填充组合不是最简单的吗

无论如何,可以在中找到另一个解决方案,该解决方案包括在日期选择器处于焦点时禁用月份选择箭头。逻辑可以与beforeshowday相同

抱歉,如果我误解了什么。

这不包括您可能需要对日期输入进行的其他验证检查。当然,您也应该在服务器端验证这一点。