【发布时间】:2015-04-20 23:37:21
【问题描述】:
我有一个这样的 primefaces 组件:
<p:panel styleClass="errorsPanelClass" id="errorsPanel" header="Messages" toggleable="true" effect="drop" toggleSpeed="0" closeSpeed="0" widgetVar="errorsPanelWidget">
我正在尝试在 javascript 上下文中获取组件并对其进行更新。
我已经尝试过:
function getWidgetVarById(id) {
for (var propertyName in PrimeFaces.widgets) {
if (PrimeFaces.widgets[propertyName].id === id) {
return PrimeFaces.widgets[propertyName];
}
}
}
或
或
Get widgetVar with JavaScript or check/uncheck all other PrimeFaces checkboxes
如果我能找到按类获取 widgetVar 的解决方案,那就太好了,但欢迎任何其他解决方案。
我也试过了:
function getWidgetVarById() {
for ( var propertyName in PrimeFaces.widgets) {
alert(PrimeFaces.widgets[propertyName].id);
}
}
但我收到一个 javascript 错误“'PrimeFaces.widgets.length' 为空或不是对象”
有什么想法吗?
【问题讨论】:
-
如果(仅用于测试)您执行
PF('errorsPanelWidget')会怎样?既然这应该有效,而且如果有效,那就很奇怪了,因为它在内部做了一个PrimeFaces.widgets[widgetVar],这将与“null”相矛盾,或者不是长度的对象。 -
我发出警报(PF('errorsPanelWidget'));我得到“预期对象”错误:(
-
那么你有一个完全不同的问题。你用的是什么版本的PF?
alert(PrimeFaces.widgets)有什么作用?发布一个最小但完全有效的 xhtml 示例 -
我正在使用 Primefaces 3.5
-
如果重要的话,这个组件是在另一个 xhtml 文件中使用的自定义组件中。我检查并正确呈现
标签: javascript jsf primefaces