我目前有一个分页报告,一次显示20条记录。总共有600条记录。
在此报告中,我还为每条记录都有一个复选框列。基于此,我的查询如下:
1)我想加入一个“全部检查”功能,所以基于我的场景显示20条记录(总共600条记录),当我按下“全部检查”复选框时,我实际上想检查所有600条记录,而不仅仅是每个分页的20条记录。
这是否可以使用javascript,因为记录总数会有所不同?如果是这样,任何帮助将不胜感激?
2)与第(1)点相同的概念,如果我有一个“提交”按钮,我实际上想验证所有600条记录都已经过检查,即使我一次只查看20条记录
这可能吗?如果是这样,任何帮助将不胜感激?
感谢。 贝。
答案 0 :(得分:2)
如果您希望javascript执行此类功能,则必须将所有复选框呈现到屏幕上。
答案 1 :(得分:1)
如果您真的希望“全部检查”框表示检查所有页面,那么建议您在服务器端检查它。
e.g。
<ul>
<li><input type='checkbox' name='item_ids[]' value='1'/>Item 1</li>
<li><input type='checkbox' name='item_ids[]' value='2'/>Item 2</li>
<li><input type='checkbox' name='item_ids[]' value='3'/>Item 3</li>
<li><input type='checkbox' name='check_all' value='check_all'/></li>
</ul>
当然要注意,用户看不到的“检查”框表示他们无法选择全部,然后取消选择单个框。检查所有跨页面也有点违反直觉。此类事物的大多数实现仅影响您当前正在查看的页面。我可能会使用不同的控件(单独的按钮)来实现这种功能。
答案 2 :(得分:1)
imo这可能不是用户期望的,因为我们都知道可用性的黄金法则是不要让用户感到惊讶。我会建议一个按钮或链接,非常清楚地表明此操作将“全部选择,并且所有页面都是指所有页面上的所有记录”。
我看到的另一个可能的解决方案是一个显示“在一个页面上显示所有内容”的链接。在用户点击并且页面重新加载了所有记录并且没有分页后,他们可以选择所有记录。
但要真正回答你的问题,我需要更多信息。是分页服务器吗?或者服务器实际上是为600条记录提供服务,但它们是在客户端切片并切成20/20块?