我试图访问文档就绪的primefaces组件,如下所示:
$(function() {
var showDialog = getUrlParameter("showDialog");
if (showDialog == "true") {
PF('myDialog').show();
}
});
Run Code Online (Sandbox Code Playgroud)
但在那一刻,primefaces widgetvars不可用,我收到以下错误:
var'myDialog'的小部件无法使用!
何时准备好访问primefaces widgetvars?
我成功地在具有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
我为我的案例找到了更好的解决方案。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)
这按预期工作。
| 归档时间: |
|
| 查看次数: |
3990 次 |
| 最近记录: |