Primefaces命令按钮onClick Javascript调用
我有这样一个数据表:Primefaces命令按钮onClick Javascript调用,javascript,primefaces,Javascript,Primefaces,我有这样一个数据表: <p:dataTable id="tablealltx" var="transaction" widgetVar="tablealltx" value="#{pastTxModel.txList}" > <p:column filterBy="#{transaction.session}" filterMatchMode="contains">
<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()" />
只需单击一次,即可添加到commandButton。我尝试了下面的方法,但是
<p:commandButton value="Filter" onclick="document.getElementById('alltxform:tablealltx:myFilter').value = #{transaction.session};PF('tablealltx').filter()" />
transaction.session中的值没有像应该的那样写入筛选器。我做错了什么?按钮中的
onclick
包含以下语句:
document.getElementById(...).value = #{transaction.session};
这将在生成的HTML中呈现为:
document.getElementById(...).value = sessionValue;
在您的示例中,值得注意的是会话值是一个不需要转义的字符串,因此您可以在值周围加引号。因此,只需将其更改为:
document.getElementById(...).value = '#{transaction.session}';
按钮中的
onclick
包含以下语句:
document.getElementById(...).value = #{transaction.session};
这将在生成的HTML中呈现为:
document.getElementById(...).value = sessionValue;
在您的示例中,值得注意的是会话值是一个不需要转义的字符串,因此您可以在值周围加引号。因此,只需将其更改为:
document.getElementById(...).value = '#{transaction.session}';
尝试将
{transaction.session}
替换为{transaction.session}
您可能还希望将process=“@none”
添加到命令按钮中。请参阅,如果您不想启动服务器端操作,您可能需要将type=“button”
添加到commandButton中…谢谢-@JasperdeVries引号起到了作用。如果你想发布答案。。我也会考虑其他建议,谢谢。试着用<代码> >会话> <代码> > <代码> {事务>会话} <代码>,您可能还想添加<代码>进程=“@无”<代码>到您的代码>命令按钮< /代码>。请参阅,如果您不想启动服务器端操作,您可能需要将type=“button”
添加到commandButton中…谢谢-@JasperdeVries引号起到了作用。如果你想发布答案。。我也会考虑其他建议,谢谢。奖金问题:我试图添加第二个按钮来清除过滤器值。当按钮位于p:列中时,这可以正常工作,但是当我将其移动到过滤器方面时,过滤不再工作。你脑子里有什么想法吗?:)不确定过滤器方面是否只“允许”一个组件(在文档中找不到)。您可以尝试将按钮移动到标题
面(我自己没有尝试过)。这是猜测。。我必须调查一下。看来过滤器是有限的。相关:还有一个额外的问题:我试图添加第二个按钮来清除筛选值。当按钮位于p:列中时,这可以正常工作,但是当我将其移动到过滤器方面时,过滤不再工作。你脑子里有什么想法吗?:)不确定过滤器方面是否只“允许”一个组件(在文档中找不到)。您可以尝试将按钮移动到标题
面(我自己没有尝试过)。这是猜测。。我必须调查一下。看来过滤器是有限的。相关:和