Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jsfp:树复选框选择_Jsf_Checkbox_Primefaces_Tree - Fatal编程技术网

jsfp:树复选框选择

jsfp:树复选框选择,jsf,checkbox,primefaces,tree,Jsf,Checkbox,Primefaces,Tree,如何仅选择父节点(在复选框p:树中)而不选择子节点?默认情况下,孩子们也被选中,这是我想要避免的。所以问题是,如果不选择子节点,我就不能选择父节点 有解决办法吗?也许有办法 谢谢 这是我的密码: <h:form id="selectCategoryForm"> <p:tree id="categoryTree" value="#{bean.categories}" var="node" selectionMode="checkbox" selection="#{bean

如何仅选择父节点(在复选框p:树中)而不选择子节点?默认情况下,孩子们也被选中,这是我想要避免的。所以问题是,如果不选择子节点,我就不能选择父节点

有解决办法吗?也许有办法

谢谢

这是我的密码:

<h:form id="selectCategoryForm">
    <p:tree id="categoryTree" value="#{bean.categories}" var="node" selectionMode="checkbox" selection="#{bean.selectedCategories}" >
        <p:treeNode>
            <h:outputText value="#{node.path}" escape="false"/>
        </p:treeNode>
    </p:tree>
</h:form>

在树表上设置
propagateSelectionDown=“false”
以禁用树下的选择传播

您可以使用:

<h:form id="selectCategoryForm">
    <p:tree id="categoryTree" value="#{bean.categories}" var="node" selectionMode="checkbox" selection="#{bean.selectedCategories}" >
        <p:ajax event="select" listener="#{bean.onNodeSelect}" update="@this"/>
        <p:treeNode>
            <h:outputText value="#{node.path}" escape="false"/>
        </p:treeNode>
    </p:tree>
</h:form>
public void onNodeSelect(NodeSelectEvent event) {
    TreeNode treeNode = event.getTreeNode();
    TreeNode parentTreeNode = treeNode.getParent();
    parentTreeNode.setSelected(true);
}