MVC - JQuery Datepicker для отображения событий - PullRequest
5 голосов
/ 15 ноября 2010

В настоящее время я создаю приложение MVC и использую JQuery UI Datepicker http://jqueryui.com/demos/datepicker/

для бронирования событий.

Я хотел бы отобразить все доступные даты событий в DatePicker. Есть ли какой-нибудь способ переопределить средство выбора даты, чтобы сделать выбираемыми (кликабельными) только события, или можно просто выделить даты событий Любой способ передать даты в DatePicker? Есть опыт?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 15 ноября 2010

Возможно, вы захотите посмотреть на событие beforeShowDay элемента управления DatePicker http://jqueryui.com/demos/datepicker/#event-beforeShowDay. Кажется, он готов к тому, что вы пытаетесь сделать, вам просто нужно предоставить список дат и стилей, которые вам подходят: что-то вроде:

$('.selector').datepicker({
    beforeShowDay: function(date) { 
        for(i = 0; i < arrayOfCalendarEventDatesYouProvide.length; i++) {
            if(date.getMonth() == arrayOfCalendarEventDatesYouProvide[i].getMonth()
            && date.getDay() == arrayOfCalendarEventDatesYouProvide[i].getDay()
            && date.getYear() == arrayOfCalendarEventDatesYouProvide[i].getYear())

            //matched a day in the array, turn of date in calendar if you
            //don't want it pickable
            return [false, 'some-css-to-indicate-a-match'];
        }

        //if you get this far, no matches
        return [true, ''];
    }
});
0 голосов
/ 15 ноября 2010

Элемент управления предлагает минимальную и максимальную дату, но не поддерживает указание конкретных дат: http://jqueryui.com/demos/datepicker/#min-max

Возможно, вам придется изменить элемент управления самостоятельно, чтобы получить массив допустимых дат, что может быть не так сложно, как кажется, поскольку вы могли бы использовать функциональность min / max в качестве отправной точки.

Это довольно очевидная функция, отсутствующая в элементе управления!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...