Я пытался понять, как решить эту проблему, с которой я столкнулся. Мне нужно найти способ проверить, какой день был выбран в календаре, и посмотреть, можно ли кликнуть что-нибудь вокруг него. Другими словами, если дата выбрана после выбранной даты, она не может идти дальше.
Вот пример:
Скажите, что в марте и марте всего 31 день.
Пользователь выбирает день 9.
Поэтому дни 1-8 не выбираются (я уже закодировал эту часть)
Теперь скажите, что 10-й день нельзя выбрать, поскольку он уже чем-то занят В этом случае пользователю не будет разрешено нажимать любую другую дату после 9-го числа, поскольку он не может пересекать день, который уже был занят чем-либо.
Я действительно не знаю, как проверить это, НО у меня уже есть дни в массиве, которые отключены. Этот массив будет выглядеть так:
[10,15,20]
Как и в случае выше, я знаю, какие дни нельзя выбрать, но я не уверен, что делать с их кодированием, если пользователь (опять же, в приведенном выше примере) выбирает день 11, и это пересекает день 10, который уже нельзя выбрать .
Вот изображение этого:
http://img704.imageshack.us/img704/9803/cals.jpg
Любая помощь и идеи будут великолепны!
Спасибо,
David
Хорошо, с помощью ASP я решил большую часть проблемы:
sVal = tempResults 'This is the array of used dates already
tmpDate = tmpDate + 1 'This is the date they chose (9) and added a 1 making it 10 (next day)
theMonthDays = getDaysInMonth(theMonth, theYear) ' This just gets how many days are in the current selected month
ArrayOfValues = Split(sVal, ",") 'this splits the array of used dates to be checked below
For i = 0 To UBound(ArrayOfValues)
if tmpDate = CInt(ArrayOfValues(i)) then 'if it finds a date used already then block the rest
dim z, theBlockedDays
z = tmpDate
do until z = theMonthDays + 1
theBlockedDays = "'" & theMonth & "-" & z & "-" & theYear & "'," & theBlockedDays
z = z + 1
loop
exit for
end if
Next
Теперь это работает для 9-го дня, но не работает, если я выбираю 11-й день, так как следующий день открыт, а затем также и день после этого. Как мне проверить это?
David