我正在使用Ruby on Rails
3.1.0
,jquery-rails
和WillPaginate
寶石,以便通過AJAX對項目進行分頁。如何在AJAX「分頁」視圖中保留複選框檢查狀態?
我想保持複選框檢查狀態在AJAX「分頁」視圖。也就是說,在視圖中顯示項目列表(由於性能原因 - 因爲這些項目可能很多),對於那些實施分頁的項目(每頁10項),以便具有如下的輸出:
# * `[ ]` represents a check box
# * `[X]` represents a checked check box
# * `Item<N>` represents a check box label
# * `Previous`, `Next`, `1`, `2`, `...` are WillPaginate links to switch
# between pages
[X] Item1
[X] Item2
[X] Item3
[ ] Item4
[ ] ...
[ ] Item10
← Previous 1 2 3 Next →
正常情況下,當用戶單擊Next
鏈接時,它會發生,它會通過執行AJAX HTTP GET請求來呈現下一頁,其中包括接下來的10個項目。 我的問題是,如果用戶檢查一些項目(比如Item1
,Item2
,Item3
有檢查狀態)然後他\她交換機頁的檢查項的狀態丟失。也就是說,當用戶回到前一頁時,Item1
,Item2
,Item3
不會被更多檢查(以及它應該是因爲我沒有執行任何操作來保持它們的狀態)。
我想保持切換頁面上的狀態檢查。 我該怎麼做?你建議使用什麼方法(也許Ruby on Rails session
...)?
如何使用這些表單更新數據庫? –
@Sławosz - 由於問題中描述的場景旨在使用* new *記錄(即在表單成功提交之前尚未在數據庫中創建的記錄),我在控制器中運行一些代碼以便在創建記錄之後處理複選框參數(即,在考慮的當前類對象實例上運行'save'方法之後)。 – user502052
因此,也許隱藏的輸入(甚至每個頁面的隱藏輸入)來記住檢查。你也需要它來保存表單。每次點擊複選框將解析隱藏的輸入內容並進行更改。但如果你有時間,請使用js MVC。 –