Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Primefaces命令按钮onClick Javascript调用_Javascript_Primefaces - Fatal编程技术网

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:列中时,这可以正常工作,但是当我将其移动到过滤器方面时,过滤不再工作。你脑子里有什么想法吗?:)不确定过滤器方面是否只“允许”一个组件(在文档中找不到)。您可以尝试将按钮移动到
标题
面(我自己没有尝试过)。这是猜测。。我必须调查一下。看来
过滤器
是有限的。相关:和