Трудность перевода кода C# в логику JQuery DatePicker
Прежде всего, спасибо, что нашли время, чтобы помочь.
У меня есть следующий код на стороне сервера:
if (!IsPostBack)
{
dateFrom.Date = dateTo.Date.AddMonths(-1);
dateFrom.MinDate = dateTo.Date.AddMonths(-6);
dateFrom.MaxDate = dateTo.Date;
dateTo.Date = DateTime.Now;
dateTo.MinDate = dateFrom.Date;
dateTo.MaxDate = DateTime.Now;
}
...
Поэтому, когда страница загружается, я бы хотел установить текущую дату выбора даты dateFrom на сегодняшнюю дату минус 1 месяц, а минимальную дату на -6 месяцев с сегодняшнего дня.
Кроме того, у меня есть следующий код:
protected void dateFrom_DateChanged(object sender, EventArgs e)
{
dateTo.MinDate = dateFrom.Date;
}
protected void dateTo_DateChanged(object sender, EventArgs e)
{
dateFrom.MinDate = dateTo.Date.AddMonths(-6);
dateFrom.MaxDate = dateTo.Date;
}
в котором говорится, что когда дата выбирается из календаря dateFrom, я хочу установить минимальную дату календаря DateTo в качестве даты календаря DateFrom.
Любая помощь или указания или предложения будут с благодарностью. Я подумал, что мне нужно работать с событием onSelect jquery Datepicker, но я не знаю, должен ли я использовать его при инициализации DatePicker с использованием API 'option'.
Спасибо, куча!
1 ответ
Посмотрите пример Date Range пользовательского интерфейса jQuery, который делает именно то, что вы ищете.
$(function() {
var dates = $( "#from, #to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onSelect: function( selectedDate ) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" ),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
});
});
Вы также хотели бы установить minDate: "-6M"
для сборщика.