【发布时间】:2012-10-11 15:20:45
【问题描述】:
我想更新 primefaces 树的子节点,而不是从服务器中拉出整棵树。
我可以更新整个树,但不能仅更新特定节点的子节点...
编辑:
这是我的代码示例:
<p:tree value="#{cc.tree}" var="wrapper" id="tree" widgetVar="tree" styleClass="commentTree-#{cc.id}">
<p:treeNode id="treeNode" styleClass="treenode-#{wrapper.id}">
Hallo: #{wrapper.text}
</p:treeNode>
</p:tree>
现在我想更新一个特定的树节点。
function findIDbySelector(selector) {
return $(selector).first().attr('id');
}
function updateComponent(clientID) {
var ajax_json = {};
ajax_json['source'] = '#{cc.id}';
ajax_json['update'] = clientID;
PrimeFaces.ajax.AjaxRequest(ajax_json);
}
[...]
updateComponent(findIDbySelector('.treenode-1'));
正如我所说,我可以更新整个树,但我只想更新单个 Treenode。
(代码可能包含错误/错别字,因为它被剥离了)
【问题讨论】:
-
到目前为止你尝试了什么?
-
我尝试更新 primefaces 生成的子树,但由于它们不是 jsf 组件,因此失败。然后我看了一下primefaces如何在他们的“动态树”示例中加载数据,但是每次扩展节点时它们都会加载整个树,这对我来说是没有选择的。
-
请发布您的 .xhtml 和 .java 文件,以便我们为您提供指导
标签: java ajax jsf jsf-2 primefaces