2013-07-31 71 views
1

我是一個Django的小白,有一個情況,超出了基本的文檔等如何跟蹤與Django和無盡的分頁複選框?

我更新的網頁排序已窗體結構如下:

  • 幾個文本框等收集一般信息(姓名,日期,等)

  • 兩個單獨的表,用於選擇(經由複選框)的生成目錄/使用endless_pagination管理。每個表可以有成千上萬的記錄,因此是無盡的分頁。每個表中的第一列是一個value = catalog.id的複選框。

  • 一個文本框,用戶可以手動輸入目錄編號

  • 一個提交按鈕

我不知道如何跟蹤哪些用戶已在兩個分頁表中,因爲選擇當選擇不同的頁面時,選中的框會丟失。而且,當用戶在頁面之間來回翻轉時,以前檢查過的目錄需要重新檢查(因爲檢查狀態不被保留)。我也不確定使用哪個工具來處理這個問題。

我的想法是使用JavaScript(與我有最小的經驗)來更新目錄ID列表每當複選框被選中/取消和: - 並附加表的形式或 - 在更新變量表格或 - 作爲與表格分開的變量發送,無論哪種可能/更有意義。

我希望維護一個目錄ID列表是可能的,因爲這個表單的下一次迭代可能會包括某種過濾,所以我試圖設計一個解決方案,不會在稍後重做。

我已經審查了很多帖子,但我認爲最接近的解決方案,因爲endless_pagination的毫無用處。

讓我知道,如果需要進一步澄清。在此先感謝您的任何建議。

UPDATE

我試圖使用JavaScript到類別ID的存儲在數組中,當複選框被選中。當用戶選擇分頁中的另一個頁面時,這不起作用。當頁面「重新加載」時,檢查的目錄ID數組會丟失。

回答

1

我運行到這個問題,現在也是如此。我通過將選中的項目寫入localStorage來處理這個問題,以便它們傳遞到第2,3頁等等,以及當您返回第1頁時顯示爲已經檢查過。然後,每次頁面加載時,並檢查現有複選框,或使用適當的名稱和值創建一個隱藏的輸入並將其附加到主窗體。

var selected_items = [] 

function add_item_to_checkbox(item) { 
    localStorage.setItem('selected_items', JSON.stringify(selected_items)); 
checkbox.on("click", add_item_to_checkbox); 

bahh ......你看看我的jsfiddle它更容易閱讀和耶。我不必將JS輸入到stackoverflow上的textarea。

這是我javascript minus a few things that are specific to my code。我相信它可以改進,但它對我的應用程序非常有用。