我有一个多选列表框,根据用户选择的元素数量,我必须显示相同数量的复选框。我正在使用 jsf 和 primefaces /spring webflow。我怎么能这样做?有什么例子吗?我必须制作一个复选框,允许一键检查所有生成的复选框。
问问题
466 次
1 回答
1
我有一个多选列表框
因此,a<h:selectManyListbox>
具有固定<f:selectItems>
值。
<h:selectManyListbox id="listbox" value="#{bean.selectedListboxItems}">
<f:selectItems value="#{bean.availableListboxItems}" />
</h:selectManyListbox>
有类似的东西:
private List<String> availableListboxItems;
private List<String> selectedListboxItems;
@PostConstruct
public void init() {
availableListboxItems = new ArrayList<String>();
availableListboxItems.add("menu item 1");
availableListboxItems.add("menu item 2");
availableListboxItems.add("menu item 3");
}
并且取决于用户将选择多少元素,我必须显示相同数量的复选框
因此,只需根据 a的值预填充<f:selectItems>
a 。<h:selectManyCheckbox>
<h:selectManyListbox>
<h:commandButton value="Generate checkboxes">
<f:ajax execute="listbox" listener="#{bean.generateCheckboxes}" render="checkboxes" />
</h:commandButton>
<h:selectManyCheckbox id="checkboxes" value="#{bean.selectedCheckboxItems}">
<f:selectItems value="#{bean.availableCheckboxItems}" />
</h:selectManyCheckbox>
有类似的东西
private List<String> availableCheckboxItems;
private List<String> selectedCheckboxItems;
public void generateCheckboxes() {
availableCheckboxItems = new ArrayList<String>();
for (int i = 1; i <= selectedListboxItems.size(); i++) {
availableCheckboxItems.add("checkbox item " + i);
}
}
我正在使用 jsf 和 primefaces /spring webflow。我怎么能这样做?有什么例子吗?
我相信上述琐碎的例子就足够了。对于 PrimeFaces,只需替换<h:xxx>
为<p:xxx>
. 然而,我不知道 Spring Webflow 是如何在其中发挥作用的,因为我从未使用过它。
我必须制作一个复选框,允许一键检查所有生成的复选框。
这是留给你的练习。提示:确保availableCheckboxItems
包含所需的值,具体取决于<h:selectBooleanCheckbox>
应该代表“切换所选项目”的当前值。
于 2012-01-17T03:09:26.190 回答