在文档就绪时访问primefaces widgetvars

Jos*_*ema 7 jquery primefaces

我试图访问文档就绪的primefaces组件,如下所示:

$(function() {
  var showDialog = getUrlParameter("showDialog");
  if (showDialog == "true") {
    PF('myDialog').show();
  }
});
Run Code Online (Sandbox Code Playgroud)

但在那一刻,primefaces widgetvars不可用,我收到以下错误:

var'myDialog'的小部件无法使用!

何时准备好访问primefaces widgetvars?

Gre*_*nie 7

我成功地在具有widgetVar的组件之后的页面中添加了javascript初始化代码,即

<p:dataTable widgetVar="test">

</p:dataTable>

<script  type="text/javascript">
  $(document).ready(function()  {
     PF('test'); // access and do whatever here
 }
</script> 
Run Code Online (Sandbox Code Playgroud)

将脚本标记放在p:dataTable之前不起作用.

更多信息:http://forum.primefaces.org/viewtopic.php?f = 3&t = 35718


Jos*_*ema 2

我为我的案例找到了更好的解决方案。onload我使用以下属性调用 JavaScript 方法h:body

<h:body onload="checkIfShowDialog()">
Run Code Online (Sandbox Code Playgroud)

这是 JavaScript 方法:

function checkIfShowDialog(){
  var showDialog = getUrlParameter("showDialog");
  if (showDialog == "true") {
    PF('myDialog').show();
  }
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作。