Primefaces commandButton onClick Javascript调用

时间:2016-10-12 12:27:14

标签: javascript primefaces

我有这样的数据表:

<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的值不会像应该的那样写入过滤器。我做错了什么?

1 个答案:

答案 0 :(得分:2)

按钮中的onclick包含以下声明:

document.getElementById(...).value = #{transaction.session};

这将在生成的HTML中呈现为:

document.getElementById(...).value = sessionValue;

在你的previous question中,值得注意的是会话值是一个不需要转义的字符串,所以你可以在值周围加上引号。所以,只需将其更改为:

document.getElementById(...).value = '#{transaction.session}';