我正在构建自己的 PageRow 组件,我试图弄清楚如何在将选择值从 10 个结果更改为 50 后重新加载页面。我也需要在刷新期间设置一个查询参数,我想我可以做到这使用 onChanged 事件,但这不起作用。有人对如何做到这一点有任何想法吗?
问问题
615 次
2 回答
1
由于您不需要 POST 值,因此您实际上不需要使用 select 组件。
爪哇
@Property private int currentRows;
@Inject private ComponentResources resources;
public Link getEventLink(int rows) {
Link link = resources.createEventLink("setRows", rows);
link.addParameter("foo", "bar");
return link;
}
Object onSetRows(int rows) {
...
return this;
}
TML
<select id="rows">
<t:loop source="[10,20,30,40,50]" value="currentRows">
<option value="${getEventLink(currentRows)}">${currentRows}</option>
</t:loop>
</select>
Javascript (jQuery)
$('#rows').change(function() {
document.location.href = $(this).val();
});
您可以轻松地调整它并使用适当的SelectModel和select组件。
于 2013-10-21T15:28:21.377 回答
0
在服务器端,@Inject ComponentResources 并使用 createEventLink(...) 为每个选项 (10-50) 生成事件 url。
在客户端,将更改侦听器附加到设置 window.location.href 并导致加载事件 url 的选择。
于 2013-10-21T10:16:03.730 回答