MVC 日期时间选取器验证



我有一个MVC应用程序。我的页面包含两个日期时间选择器:开始日期和结束日期。我的要求是,当任何人选择开始日期时,结束日期应计算为开始日期+10天。

还有一个条件,结束日期不应小于开始日期。我怎么可能?

$(document).ready(function () {

    $("#txtstartdate").datepicker
        ({
            dateFormat: 'mm/dd/yy',
            showAnim: "slideDown",
            showOptions: {
                origin: ["top", "left"]
            }
        });
    $("#txtEnddate").datepicker
        ({
            dateFormat: 'mm/dd/yy',
            showAnim: "slideDown",
            showOptions: {
                origin: ["top", "left"]
            }
        });
});

我正在使用jquery日期时间选择器。

我只是使用了javascript代码,但是当我选择日期时间选择器时,它总是显示prevoius选择的日期。

试试这个:

$(function () 
{
    $('#txtStartDate, #txtEndDate').datepicker(
    {
        showOn: "both",
        beforeShow: customRange,
        dateFormat: 'mm/dd/yy',
        showAnim: "slideDown",
        showOptions: {
            origin: ["top", "left"]
        },
        firstDay: 1, 
        changeFirstDay: false
    });
});
function customRange(input) 
{ 
    var min = new Date(2008, 11 - 1, 1); //the absolute minimum date
        var dateMin = min;
        var dateMax = null;
        var dayRange = 10;  //range of days

        if (input.id == "txtStartDate") 
        {
            if ($("#txtEndDate").datepicker("getDate") != null)
            {
                dateMax = $("#txtEndDate").datepicker("getDate");
                dateMin = $("#txtEndDate").datepicker("getDate");
                dateMin.setDate(dateMin.getDate() - dayRange);
                if (dateMin < min)
                {
                        dateMin = min;
                }
             }
             else
             {
                dateMax = new Date(); //the absolute maximum date
             }                      
        }
        else if (input.id == "txtEndDate")
        {
                dateMax = new Date(); //the absolute maximum date
                if ($("#txtStartDate").datepicker("getDate") != null) 
                {
                        dateMin = $("#txtStartDate").datepicker("getDate");
                        var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + dayRange);
                        if(rangeMax < dateMax)
                        {
                            dateMax = rangeMax; 
                        }
                }
        }
    return {
                minDate: dateMin, 
                maxDate: dateMax,
            }; 
}​

演示:http://jsfiddle.net/XdFpg/

最新更新