Javascript для проверки или фильтрации времени начала и окончания?

#jquery #asp.net #validation #time #fullcalendar

#jquery #asp.net #проверка #время #полный календарь

Вопрос:

В форме у меня есть одно текстовое поле даты и 2 выпадающих списка: время начала и время окончания с интервалом в 30 минут.

  1. Один пользователь выбирает время 9:00:00 — 11:00:00
  2. Второй пользователь выбирает время 1:00:00 — 3:00:00
  3. Третий пользователь хочет 8:00:00 — 16:00:00

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

Возможно ли сравнить и подтвердить эти времена с помощью jquery?

Приложение находится в asp.net mvc. Он включает в себя fullcalendar.js плагин.

Большое вам спасибо за ваш совет!

Ответ №1:

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

Предполагая, что наименьшее приращение времени составляет час, каждый пользователь выбирает набор чисел, каждое число варьируется от 0 до 23 (представляющее час). Затем, если первые 2 пользователя выбрали наборы A и B, то третьему пользователю должно быть разрешено выбирать только из пересечения двух наборов, то есть A И B. Вы можете обобщить это для любого количества пользователей.

Комментарии:

1. Спасибо! Я смог написать алгоритм, основанный на вашем предложении. Мне также было интересно, можно ли отключить прошлые времена (меньше, чем сейчас) для выбора в выпадающем списке. Таким образом, я могу выбирать только время, начиная с текущего времени. Как это возможно? Как я могу отфильтровать время и указать условие? Я буду признателен за ваш совет!

2. ОК. Я не знаю о вашей платформе, поэтому я не знаю, как получить текущее время. Предполагая, что у вас есть текущее время, округленное до ближайшего приращения времени (скажем, 16), тогда вы можете использовать ту же идею — создать набор T, который содержит 16 .. 23, а затем взять пересечение — A И B .. И Z .. И T