2

以 PrimeFaces Demo 过滤数据表https://www.primefaces.org/showcase/ui/data/datatable/filter.xhtml)为例,我希望能够在表格之外提供“过滤”链接用户点击(比如沃尔沃、Forw、宝马等)。当用户单击链接时,我想在制造商过滤器下拉列表中切换所选项目并应用过滤器。我无法弄清楚如何访问过滤器属性以进行更改。这可以通过javascript完成吗?如何访问选择列表并设置当前选择?

更新:
按照丹尼尔的链接,我设法改变了下拉选择,但我无法应用过滤器。在过滤器基于输入字段的列中,触发 keyup 会导致数据过滤,但我无法确定在 select 上触发什么事件以使其过滤。这是我正在使用的代码:

<p:commandLink id="filterLink" 
    value="Click to filter to Volvo Only" 
    onclick="$('#carForm\\:dataTable\\:manufacturerColumn_filter').val('Volvo'),
        $('#carForm\\:dataTable\\:manufacturerColumn_filter').trigger('filter')"
/>

上面创建的链接会将制造商过滤器切换到沃尔沃,但不会导致数据过滤。

4

1 回答 1

1

关键是在表级别调用过滤事件。所以我上面的代码应该是:

<p:commandLink id="filterLink" 
value="Click to filter to Volvo Only" 
onclick="$('#carForm\\:dataTable\\:manufacturerColumn_filter').val('Volvo'), carsTable.filter()"
/>
于 2012-06-06T16:40:54.027 回答