javascript - 检查 PrimeFaces widgetVar 是否存在

标签 javascript jsf primefaces

我有一个 Primefaces 命令按钮,它在其 onComplete 中调用一个数据表过滤器。数据表由 widgetVar 引用:

<p:commandButton id="addFishBtn" 
                    title="Add Fish"
                    update="fishForm:FishTbl"
                    action="#{backingBean.addFish()}" 
                    oncomplete="fishTable.filter()"/>

问题是,当按下这个按钮时,fishTable 并不总是存在。它不存在,应用程序就会卡住。我从其他 SO 问题中尝试了类似的方法:

oncomplete="if(typeof(fishTable) != 'undefined') {fishTable.filter()}"

但它似乎并没有做任何事情。是否有任何正确的方法来检查 widgetVar 当前是否有任何值?
谢谢!

最佳答案

您可以使用以下内容

if(PrimeFaces.widgets['fishTable']) {
   //widgetVar does exist
   PF('fishTable').filter();
}

关于javascript - 检查 PrimeFaces widgetVar 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24475431/

相关文章:

java - PrimeFaces 3.5 和 DataTables(多选)

javascript - 通过 onclick 事件调用 JavaScript 函数(带参数)

c++ - JSF 前端调用 C++ 事件处理程序客户端函数

javascript - 为什么 JSF 支持 bean 函数在 Firefox 中不能从 JavaScript 调用,但在 IE 和 Chrome 中工作正常?

java - JSF/RichFaces : conditional text styling

jsf - Primefaces 如何更新对话框中的内容并保持对话框居中?

ajax - 具有多种形式的 JSF (PrimeFaces) 中的多个 AJAX 状态

javascript - 如果方法返回一组值,如何使用单个返回值

JavaScript scrollTop 不适用于移动设备

javascript - 使用自动刷新将 DIV 标记更改为 Iframe