0

我有一个搜索页面,允许用户搜索许多不同的字段。单击搜索后,默认情况下每页显示 10 个条目,可以选择查看下一个 10 个条目,或使用 will_paginate 选择页码。有一个下拉菜单可让您选择用户每页看到的条目数。

我尝试了两段代码:

Results per page: <%= select_tag :per_page, options_for_select([10,20,50], :selected=>params[:per_page]),  { :onchange => "this.form.submit();"}   %></br>

Results per page: <%= select_tag :per_page, options_for_select([10,20,50], :selected=>params[:per_page]),  :onchange => "'#{request.query_string}&per_page=' + this.getValue()"  %></br>

例如,当第一个下拉列表更改为 20 时,页面会立即再次搜索,但每页显示 20 个结果。

第二个下拉菜单允许您选择每个页码的条目,但要更改视图,您必须重新单击搜索。

我希望我的代码更像第一个下拉菜单一样工作,但我认为重新搜索有点贵。有没有办法停止重新提交搜索但更改显示?

提前致谢

4

1 回答 1

1

如果您更改每页显示的项目数量,则无论如何都必须重新查询(因为只有要显示的项目已从数据库加载)。如果您更改每页显示的项目,并且您在第 2 页,您会看到什么?项目 10 - 60?因此,如果您更改每页的项目,您几乎总是会切换到第一页,并且无论如何都需要重新查询。

第二:您似乎想重新加载 javascript 中的数据。你打电话来获取数据,但似乎对加载的数据没有做任何事情。

于 2012-08-08T09:43:00.740 回答