我有这样的数据表:
<p:dataTable id="tablealltx" var="transaction" widgetVar="tablealltx"
value="#{pastTxModel.txList}" >
<p:column filterBy="#{transaction.session}"
filterMatchMode="contains">
<f:facet name="filter">
<p:inputText id="myFilter" value="#{transactionXmlController.currentFilter}" onchange="PF('alltxform').filter()" />
</f:facet>
<p:outputLabel value="#{transaction.session}" ondblclick="document.getElementById('alltxform:tablealltx:myFilter').value = this.innerText;PF('tablealltx').filter()" />
</p:column>
</p:dataTable>
我想更改此工作双击功能:
<p:outputLabel value="#{transaction.session}" ondblclick="document.getElementById('alltxform:tablealltx:myFilter').value = this.innerText;PF('tablealltx').filter()" />
单击一下命令按钮。我尝试了以下,但值
<p:commandButton value="Filter" onclick="document.getElementById('alltxform:tablealltx:myFilter').value = #{transaction.session};PF('tablealltx').filter()" />
来自transaction.session的值不会像应该的那样写入过滤器。我做错了什么?
答案 0 :(得分:2)
按钮中的onclick
包含以下声明:
document.getElementById(...).value = #{transaction.session};
这将在生成的HTML中呈现为:
document.getElementById(...).value = sessionValue;
在你的previous question中,值得注意的是会话值是一个不需要转义的字符串,所以你可以在值周围加上引号。所以,只需将其更改为:
document.getElementById(...).value = '#{transaction.session}';