gpt4 book ai didi

javascript - 加载数据表后触发 JavaScript 操作

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:04:57 24 4
gpt4 key购买 nike

JSF 2.1 + PrimeFaces 3.2 网络应用程序中,我需要在加载 p:dataTable 后触发 JavaScript 函数。我知道这个组件中没有这样的事件,所以我必须找到一个解决方法。

为了更好地理解场景,在页面加载时不呈现 dataTable。登录成功后呈现:

<p:commandButton value="Login" update=":aComponentHoldingMyDataTable" 
action="#{loginBean.login}"
oncomplete="handleLoginRequest(xhr, status, args)"/>

从上面的代码可以看出,我在登录成功后有一个javascript hook,希望对你有帮助。 update 属性强制重新评估 dataTable 的呈现属性:

<p:dataTable  var="person" value="#{myBean.lazyModel}" rendered="#{p:userPrincipal() != null}" />

加载数据表后,我需要在每个行项目上运行一个 JavaScript 函数,以便订阅 cometD。主题。

理论上,我可以使用登录按钮的 oncomplete 属性来触发 myBean 的属性,以便再次检索要在 dataTable 中显示的值,但它似乎不是很优雅。

JavaScript 函数应该对数据表每一行的 rowKey 做一些事情:

function javaScriptFunctionToBeTriggered(rowKey) {
// do something
}

最佳答案

oncomplete 属性中的 javascript 方法在 ajax 请求完成后 被调用,因此 dataTable 被加载。

因此您可以执行以下操作:

<p:commandButton ... oncomplete="doSomething()"/>

一切都应该工作正常。

关于javascript - 加载数据表后触发 JavaScript 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10971920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com