Asp.net MVC日期时间选择器验证
我有一个MVC应用程序。我的页面包含两个日期时间选择器。开始日期和结束日期。我的要求是, 当任何人选择开始日期时,结束日期应计算为开始日期+10天 还有一个条件,结束日期不应小于开始日期。 我怎么可能 $(文档).ready(函数() { 我正在使用jquery日期时间选择器 我刚刚使用了javascript代码,但当我选择日期时间选择器时,它总是显示上一个选定日期。如何在选择日期时间选择器时获取选定日期?尝试以下操作:Asp.net MVC日期时间选择器验证,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有一个MVC应用程序。我的页面包含两个日期时间选择器。开始日期和结束日期。我的要求是, 当任何人选择开始日期时,结束日期应计算为开始日期+10天 还有一个条件,结束日期不应小于开始日期。 我怎么可能 $(文档).ready(函数() { 我正在使用jquery日期时间选择器 我刚刚使用了javascript代码,但当我选择日期时间选择器时,它总是显示上一个选定日期。如何在选择日期时间选择器时获取选定日期?尝试以下操作: $(function () { $('#txtStartDate
$(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,
};
}
$(函数()
{
$('#txtStartDate,#txtEndDate')。日期选择器(
{
showOn:“两者”,
展会前:定制范围,
日期格式:“mm/dd/yy”,
showAnim:“滑下”,
展示选项:{
原点:[“顶部”、“左侧”]
},
第一天:1,
第一天:假
});
});
功能自定义范围(输入)
{
var min=新日期(2008,11-1,1);//绝对最小日期
var dateMin=min;
var dateMax=null;
var dayRange=10;//天数范围
if(input.id==“txtStartDate”)
{
if($(“#txtEndDate”).datepicker(“getDate”)!=null)
{
dateMax=$(“#txtEndDate”).datepicker(“getDate”);
dateMin=$(“#txtEndDate”).datepicker(“getDate”);
dateMin.setDate(dateMin.getDate()-dayRange);
如果(日期分钟<分钟)
{
dateMin=min;
}
}
其他的
{
dateMax=new Date();//绝对最长日期
}
}
else if(input.id==“txtEndDate”)
{
dateMax=new Date();//绝对最长日期
if($(“#txtStartDate”).datepicker(“getDate”)!=null)
{
dateMin=$(“#txtStartDate”).datepicker(“getDate”);
var rangeMax=new Date(dateMin.getFullYear()、dateMin.getMonth()、dateMin.getDate()+dayRange);
如果(范围最大值<日期最大值)
{
dateMax=rangeMax;
}
}
}
返回{
minDate:dateMin,
maxDate:dateMax,
};
}
演示:感谢您的回复。这段代码几乎成功了。但问题是我试图打印选定的日期,但它再次显示了以前的日期?所以希望没有像“aftershow”这样的事件。是的,得到了解决方案。.我使用了“onSelect”方法。.现在我得到了当前选定的日期…谢谢。。。
$(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,
};
}