更新PrimeFaces数据表标题中的输入(仅限JavaScript)
我们有一个PrimeFaces更新PrimeFaces数据表标题中的输入(仅限JavaScript),javascript,jquery,jsf-2,primefaces,datatable,Javascript,Jquery,Jsf 2,Primefaces,Datatable,我们有一个PrimeFaces,在表头有一个自定义筛选/搜索框: <h:form id="content-form"> ... <p:dataTable id="fixed-data" widgetVar="resultTable" value="#{resultManager.dataModel}" filteredValue="#{resultManag
,在表头有一个自定义筛选/搜索框:
<h:form id="content-form">
...
<p:dataTable id="fixed-data"
widgetVar="resultTable"
value="#{resultManager.dataModel}"
filteredValue="#{resultManager.filteredEntities}"
var="result"
rowKey="#{result.id}"
selectionMode="multiple"
selection="#{resultManager.selectedEntities}"
paginator="true"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rows="#{resultManager.selectedRowsPerPage}"
scrollable="true"
scrollHeight="200"
rowsPerPageTemplate="25,50,100,200"
resizableColumns="true"
emptyMessage="#{msg['common.action.search.noResultsMessage']}">
<p:ajax event="rowSelect" ... />
<p:ajax event="rowUnselect" ... />
<p:ajax event="sort" ... />
<f:facet name="header">
<h:panelGroup id="header-facet-panel"
layout="block">
<p:inputText id="filterInput"
widgetVar="resultTableFilterInput"
onkeypress="if (event.keyCode == 13) { filter(); return false; }" />
<p:commandButton id="search-btn"
icon="ui-icon bx-icon-search"
... />
</h:panelGroup>
</f:facet>
<p:column ... />
<p:column ... />
.
.
.
它没有JSFvalue=“…”
属性
下面是树节点删除输入值的
(使用jQuery和纯JavaScript):
但是,这对
没有任何作用:
$('#content-form:fixed-data:filterInput')
(上面是FireFox调试工具在树节点点击后输出的HTML)
问题:
出了什么问题以及如何使其工作(无需为输入添加JSF值,如
)
请注意,有一个使用DOM ID的(正确的)datatable组件的更新
:content form:fixed data
您忘了用#
启动jQuery选择器字符串:
此外,您可能需要避开冒号:
$('#content-form\\:fixed-data\\:filterInput')
检查您是否确实找到了输入:
console.log($('#content-form\\:fixed-data\\:filterInput'));
从技术上讲,这是一个骗局:
$('#content-form:fixed-data:filterInput')
$('#content-form\\:fixed-data\\:filterInput')
console.log($('#content-form\\:fixed-data\\:filterInput'));