我是一名Django noob,其情况超出了基本文档等等。
我正在更新一个订购网页,其表格的结构如下:
收集一般信息(姓名,日期等)的几个文本框等
两个单独的表,用于选择(通过复选框)使用endless_pagination生成/管理的目录。每个表可以有数千条记录,因此是endless_pagination。每个表中的第一列是一个复选框,其值为= catalog.id。
用户可以手动输入商品目录ID的文本框
提交按钮
我不确定如何跟踪用户在两个分页表中选择的内容,因为选中不同的页面时复选框会丢失。此外,当用户在页面之间来回翻转时,需要重新检查先前检查的目录(因为未保持检查状态)。我也不确定使用哪种工具来解决这个问题。
我的想法是每当选中/取消选中复选框时,使用JavaScript(我的经验很少)更新目录ID列表,并且: - 并将该列表附加到表单或 - 更新表单中的变量或 - 作为与表格分开的变量发送,以可能/更有意义为准。
我希望维护一个目录ID列表是可能的,因为这个表单的下一次迭代可能包含某种过滤,所以我试图设计一个不必在以后重做的解决方案。
我已经回顾了很多帖子,但我相信最接近的解决方案由于endless_pagination而变得毫无用处。
如果需要进一步澄清,请与我们联系。提前感谢任何建议。
更新
当选中复选框时,我尝试使用JavaScript将目录ID存储在数组中。当用户在分页中选择另一页时,这不起作用。页面“重新加载”时,已检查的目录ID数组将丢失。
答案 0 :(得分: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它更容易阅读,是的。我不必在stackoverflow上将JS键入到textarea中。
这是我的javascript minus a few things that are specific to my code。我确信它可以改进,但它对我的应用程序非常有效。