Меня попросили разработать систему, где сотрудники могут отметить на форме свою доступность в данный день недели - например, сотрудник мог отметить себя как доступных на данном времени в данную неделю и недоступных на некотором другом времени. Это немного походит на это:
http://img697.imageshack.us/img697/842/mvcb.jpg
В настоящее время это работает путем рендеринга флажков в таблице, взятия событий щелчка в каждой ячейке и маркировки флажка и следовательно ячейки соответственно. Я использую JQuery, "нажимают n, перетаскивают флажок" плагин отсюда. Однако мне сообщили, что могло быть больше чем два состояния для данной ячейки (например, доступны, недоступны, доступны при данном обстоятельстве), в этом случае связав с флажки, проверенное значение не будет большим количеством справки.
Я никогда не использовал JavaScript или asp.net прежде, и не уверено относительно лучшего способа приблизиться к этой проблеме. Идеально я мог засунуть структуру данных позади каждой ячейки, которую я мог обновить к определенному состоянию и затем получить свой цвет ячейки путем привязки с этим - однако я в чем-то как потеря как, как лучше всего достигнуть этого.
Добавьте событие клика в ячейку, например щелкните по ячейке. Каждый щелчок затем может изменить статус ячейки. Затем этот статус можно сохранить через ajax или с помощью кнопки отправки, как в форме. Каждая ячейка может относиться к скрытому полю формы, в котором может храниться ваш статус.
Может быть, почерпните вдохновение из календаря Google. Здесь вы можете выбрать временной интервал в обзоре месяца, перетащив диапазон дней, щелкнув мышью и перетащив его. Думаю, это более быстрый способ ввести более длительные промежутки времени. (Как нижняя часть дракона)