Необходимо разработать jquery ui виджет выбора дней недели.

Определяться должен примерно так: $("input#weekdayPeeker").weekdayPeeker({тут настройки});

Вызывается по событию blur поля input. Придерживаться стилей jquery-ui. Можно срисовать с jquery-ui-datepicker.

Кнопочки по строкам:

1-ая строка: [Пн] [Вт] [Ср] [Чт] [Пт] [Сб] [Вс]

2-ая строка: [ежедневно]

3-ая строка: [будни] [выходные]

4-ая строка: [четные дни] [нечетные дни]

5-ая строка: [ввести вручную]

Дополнительно в правом нижнем углу кнопка "закрыть", как в datepicker-е

Выбрать можно одновременно несколько дней недели.

При выборе [Сб] и [Вс] становится выделенной кнопочка [выходные] и наоборот

Аналогично для [будни] (выбор 5-и дней) и [ежедневно] (выбор всех 7-и дней).

Если было выделено 7 дней, и юзер снимает выделение с одного из дней, то пропадает выделение с кнопочки [ежедневно], аналогично для выходных и будней.

При выборе [ввести вручную] у юзера появляется возможность ввести ручками то, что ему нужно.

В настройках нужно предусмотреть возможность отключения кнопок: ежедневно, будни, выходные, четные дни, нечетные дни, ввести вручную. Также предусмотреть возможность изменения языка

В поле input записывается при выборе: [Пн, Ср, Пт] , либо [Пн, Вт, Ср], либо [будни] (если выбраны будни), либо [выходные], либо [ежедневно], либо [чётные дни], либо [нечётные дни].

Рядом создаётся второй hidden-input. В его value записывается десятичное число от 0 до 129, которое формируется на основе выбранных дней недели. Каждый день недели отвечает за определённый бит в числе от 0 до 127:

Вс-Сб--Пт-Чт--Ср-Вт-Пн

0__0__0__0__0__0__0

(справа младшие биты).

Порядок бит можно поменять, как удобнее, пока это не принципиально.

Примеры:

Пн, Вт = 0000011 = 3 (записываем 3 в инпут)

Пн, Ср = 0000101 = 5

Пн, Пт = 0010001 = ?

будни = 0011111 = ?

выходные = 1100000 = ?

ежедневно = 1111111 = 127

Предопределены следующие значения:

[четные дни] = 128

[нечетные дни] = 129

[ввести вручную] = 0

p.s.: излазил весь инет в поисках подобного - не нашёл. Если что-то такое уже есть, за полезную ссылочку 100 руб.

14 лет назад
maskaral
Алексей 
40 лет
16 лет в сервисе
Был
14 лет назад

Заявки фрилансеров

Нет заявок фрилансеров