【问题标题】:Primefaces commandButton onClick Javascript callPrimefaces commandButton onClick Javascript 调用
【发布时间】:2017-02-21 06:10:16
【问题描述】:

我有一个这样的数据表:

<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 中的值未按应有的方式写入过滤器。我做错了什么?

【问题讨论】:

  • 尝试用'#{transaction.session}'替换#{transaction.session}
  • 您可能还想将process="@none" 添加到您的commandButton。见stackoverflow.com/questions/25339056/…
  • 如果您不想触发服务器端操作,您可能希望将type="button" 添加到命令按钮...
  • 谢谢 - @JasperdeVries 引号起到了作用。如果您想发布答案.. 我也会考虑其他建议,谢谢。

标签: javascript primefaces


【解决方案1】:

按钮中的onclick 包含以下语句:

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

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

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

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

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

【讨论】:

  • 额外问题:我尝试添加第二个按钮来清除过滤器值。当按钮位于 p:column 中时,这可以正常工作,但是当我将其移动到过滤器方面时,过滤器不再起作用。有什么想法吗? :)
  • 不确定filter 方面是否仅“允许”一个组件(在文档中找不到)。您可以尝试将按钮移动到header 方面(我自己没有尝试过)。这是猜测..我将不得不调查它..
猜你喜欢
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 2011-12-12
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
相关资源
最近更新 更多