Трудность перевода кода 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" для сборщика.

Другие вопросы по тегам