Kus*_*ahu 2 javascript jquery jsf primefaces
我使用的是 JSF 2.0 和 primefaces 3.0。我有一个 rowtoggler 和 rowexpansion。由于我使用的是 primefaces 旧版本,所以我没有 rowToggle 事件。并且我需要在行扩展时通过ajax调用服务器端的方法。所以我在 rowtoggler 周围放置了 div 标签并调用了一个 javascript 函数。现在我想通过位于 rowexpansion 中的 panelgrid 的 click 事件启动 ajax 调用。如果发生这种情况,它将看起来像 3.4 rowToggle 事件。
单击行切换器时,您可以使用 jQuery 的事件绑定来执行 Javascript。
<h:form id="form">
<p:dataTable id="dt" value="[1,2]">
<p:column>
<p:rowToggler />
</p:column>
</p:dataTable>
<p:remoteCommand name="remotecommand"
oncomplete="alert('remote command fired')" />
</h:form>
<script type="text/javascript">
$("[id='form:dt'] .ui-row-toggler").on("click", function() { remotecommand(); });
</script>
Run Code Online (Sandbox Code Playgroud)
Javascript 的解释:
该$("[id='form:dt'] .ui-row-toggler")
选择通过ID的数据表(form:dt
),然后选择具有风格类的所有后代ui-row-toggler
。
该.on("click", function() { remotecommand(); })
绑定一个匿名函数的时候触发一个JavaScript函数声明为被点击的事件p:remoteCommand
。
您可以使用p:remoteCommand
执行bean的方法与它的action
或actionListener
。;-)
请注意,我认为这不是一个长期解决方案。升级到 PrimeFaces 3.4 将是一个更好的解决方案。
归档时间: |
|
查看次数: |
3044 次 |
最近记录: |