如何验证 jquery datePicker 日期?

How to validate jquery datePicker dates?

我有两个输入框,startDatetilldate。我正在使用 jQuery 日期选择器。 问题是当用户选择 startDate 然后在 tillDate 中只应启用两天供选择。例如 01/04/2015 那么 tilldate 可以是同一日期或下一个日期,02/04/2015.

<td><input type="text" id="startDate" name="startDate"  ></td>
<td><input type="text" id="tillDate" name="tillDate"></td>
$(function () {
    var setDate;
    $("#startDate")
    .datepicker({
        showOn: "button",
        buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
        buttonImageOnly: true,
        buttonText: "Select Date",
        changeMonth: true,
        changeYear: true,
        maxDate: '0',
        onSelect: function (selected) {
            $("#tillDate").datepicker("option", "minDate", selected)
            setDate = $("#startDate").val();
            alert(setDate);
        }
    });    

    $("#tillDate").datepicker({
        showOn: "button",
        buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
        buttonImageOnly: true,
        buttonText: "Select Date",
        changeMonth: true,
        changeYear: true,
        maxDate: setDate + "2D",
        onSelect: function (selected) {
            $("#startDate").datepicker("option", "maxDate", selected)
        }
    });

    $(".ui-datepicker-trigger").mouseover(function () {
        $(this).css('cursor', 'pointer');
    });
});

好的,如果我没听错,你只是不想让用户选择一个早于开始日期值的日期?

如果是这样,为什么不将开始日期值放入全局变量中,然后在您的 tilldate 函数中检索它。一旦你有了这个值,你就可以检查 tilldate 值是否不是开始日期之前的日期,如果是这样就清除输入。

但是您可能还需要验证开始日期。

根据我的理解,您只需要两天时间就可以完成。请检查下面的代码

 <script type="text/javascript">
       $(function () {
     var setDate;

    $("#startDate")
    .datepicker(
         {
        showOn: "button",
        buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
        buttonImageOnly: true,
        buttonText: "Select Date",
        changeMonth: true,
        changeYear: true,
        maxDate:'0' ,
       onSelect: function (selected) {
             setDate = $("#startDate").val();
             var maxDatevale=new Date(setDate);
             maxDatevale.setDate(maxDatevale.getDate()+1);
             alert(maxDatevale);
            $("#tillDate").datepicker("option", "minDate", setDate)
             $("#tillDate").datepicker("option", "maxDate", maxDatevale)


        }
    });    

    $("#tillDate").datepicker({
        showOn: "button",
        buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
        buttonImageOnly: true,
        buttonText: "Select Date",
        changeMonth: true,
        changeYear: true,
        maxDate: setDate + "2D",
        onSelect: function (selected) {
            $("#startDate").datepicker("option", "maxDate", selected)
        }
    });

    $(".ui-datepicker-trigger").mouseover(function () {
        $(this).css('cursor', 'pointer');
    });
});
    </script>