Как проверить дату выбора, чтобы запретить / отклонить определенные даты? - PullRequest
0 голосов
/ 07 июня 2010

У меня есть этот элемент управления календаря, который я использую. Пользователь может выбрать любую дату из календаря. Мне нужно проверить даты как суббота и воскресенье и 1/1 и 1/25. Если они выбирают эти дни, мне нужно показать им всплывающее сообщение, если это недопустимая дата.

Ответы [ 2 ]

5 голосов
/ 07 июня 2010

Попробуйте это:

$("input[id^='Date-<%=Model.ID%>']").change(function() {
    var date = new Date($(this).val()).getDay();
    if(date == 0 || date == 6) {
        alert('weekend');
    }
});

Это настроено с событием change. Ваше мероприятие может быть другим.

Получает значение ввода: $(this).val()

Создает из него новый Date объект: new Date($(this).val())

Затем получает номер дня: .getDay(), который возвращает значение от 0 до 6, где 0 - воскресенье, а 6 - суббота.

Тогда вы просто тестируете на 0 или 6.

Live Пример: http://jsfiddle.net/UwcLf/


РЕДАКТИРОВАНИЕ: Предоставлено Ник Крейвер , вы можете отключить определенные дни, если вам не нужно запускать альтернативный код для выбора выходных.

Из связанного с ним ответа Ника: Отключение определенных дней недели в jQuery UI datepicker

$("input[id^='Date-<%=Model.ID%>']").datepicker({
    beforeShowDay: function(date) {
        var day = date.getDay();
        return [(day != 0 && day != 6)];
    }
})​​​​​;​

Обновленный пример: http://jsfiddle.net/UwcLf/1/

Добавлен массив для отключенных дней: http://jsfiddle.net/UwcLf/3/

1 голос
/ 07 июня 2010

Если вы используете JQUery UI DatePicker, у него есть событие onSelect, вы можете использовать его для проверки выбранной даты.

Я не знаю ваш бэкэнд, или вы его используете, но вы всегда можете отправить выбранную дату на ваш сервер с помощью Ajax-вызова и определить, является ли она действительной или нет.

Посмотрите Пользовательские валидаторы , если вы используете ASP.Net.

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