p:selectManyMenu(带有复选框):添加项目并同时选择复选框

问题描述 投票:0回答:1

xhtml代码

<p:selectManyMenu id="menuid"
                value="#{bean.selectedActivities}"
                showCheckbox="true" scrollable="true" scrollHeight="150">
                <f:selectItems value="#{bean.activities}" var="activity" itemValue="#{activity}"
                               itemLabel="#{activity}" />               
</p:selectManyMenu>
<p:commandButton value="ADD ACTIVITY" id="addId">
    <p:ajax event="click" process="@this" update="menuid" listener="#{bean.addActivity()}"/>
</p:commandButton>

Bean:

private List<String> selectedActivities = new ArrayList<>();
private List<String> activities = new ArrayList<>();
int index = 1;
public void addActivity(){
  String activity = "Activity "+ (index ++);
  activities.add(activity);
  selectedActivities.add(activity);
}

此代码将新项目添加到manyMenu,但未选中此复选框。

jsf primefaces
1个回答
0
投票

除了一些缺少的注释外,我认为没有什么错。无论如何,这是一个基于您的代码的有效测试解决方案。首先让我们定义视图。这基本上与您的示例相同:

© www.soinside.com 2019 - 2024. All rights reserved.