检查PrimeFaces widgetVar是否存在

时间:2014-06-29 10:59:31

标签: javascript jsf primefaces

我有一个Primefaces commandButton,它在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当前是否有任何值?
谢谢!

1 个答案:

答案 0 :(得分:15)

您可以使用以下

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