2010-04-19 57 views
6

我被要求開發一個系統,員工可以在一個表格上標記一週中某一天的可用性 - 例如一名員工可以將自己標記爲在給定時間內可用給定一週,並在其他時間無法使用。它看起來有點像這樣:實施一個多州計劃員

http://img697.imageshack.us/img697/842/mvcb.jpg

目前該工程由表內再現複選框,在每個小區撿點擊事件,並適當地標記的複選框,並因此細胞。我使用的是從here開始的JQuery「click n drag checkbox」插件。但是,我已經被告知,給定單元格可能有兩個以上的狀態(例如,在特定情況下可用,不可用,可用),在這種情況下,綁定到複選框檢查值不會是很多幫幫我。

我從來沒有使用JavaScript或asp.net之前,我不確定最好的方式來解決這個問題。理想情況下,我可以在每個單元格後面粘貼一個數據結構,我可以將其更新到某個狀態,然後通過綁定到這個單元格來獲取單元格顏色 - 但是,如何最好地實現這一點,我處於一種損失狀態。

+1

很高興看到一個很好的說明問題 – harryovers 2010-04-19 14:48:57

+4

是中間的黃色形狀的恐龍? – 2010-04-19 15:14:18

+1

大聲笑,右邊一個是鴨子 – harryovers 2010-04-19 15:16:01

回答

3

向單元添加點擊事件 - 例如,點擊單元格。每次點擊都可以改變單元的狀態。然後可以通過ajax或使用提交按鈕(如表單)來存儲此狀態。每個單元格都可能與隱藏的表單域相關,這是您可以保存狀態的地方。

+0

我會允許用戶左鍵單擊以改變可用性(是或否)並右鍵單擊上下文菜單設置特定的標準。大多數時候人們只會是/不是。 我也肯定會使用ajax來更新幕後的數據庫。大多數日曆程序會在進入時立即進行更改,並且您可能在「忘記」按下提交按鈕時遇到問題。任何「提交」按鈕應該只是意味着「好吧,我完成了,現在帶我到別的地方」。 – Sparafusile 2010-04-19 17:44:52

+0

要追求這條路線 - 似乎很明智,但我不確定是否有可能。我已經明確告訴過,不需要用於設置標準的上下文菜單 - 這也是我最初的想法。然而,在幕後更新似乎是必需的。乾杯:) – MoominTroll 2010-04-20 09:35:14

1

也許從谷歌日曆中獲得一些靈感。您可以通過點擊並拖動一段時間來在月視圖中選擇時間範圍。我想這是進入更長時間段的更快方式。 (像龍的下部)

+0

,並有一個星期日曆插件,做到這一點。我不知道鏈接,但它非常受歡迎的10個jQuery插件,你必須有類型的博客,所以谷歌是你的朋友。 – robodisco 2010-04-20 00:29:19

+0

點擊拖動工程現在就好了 - 它的執行有幾個「狀態」是問題 - 現在我從複選框綁定到開/關狀態 – MoominTroll 2010-04-20 09:33:40

+0

@adam你可能想到FullCalendar,但我我不確定它會在這裏工作。 – Ryan 2010-04-21 03:49:21