生成 jsf 复选框

发布于 2024-12-27 03:38:05 字数 129 浏览 1 评论 0 原文

我有一个多选列表框,根据用户选择的元素数量,我必须显示相同数量的复选框。我正在使用 jsf 和 primefaces /spring webflow。我怎样才能做到这一点?有什么例子吗? 我必须制作一个复选框,允许一键单击检查所有生成的复选框。

I have a multiselect listbox and depending on how many elements user will choose I have to show same number of checkboxes. I'm using jsf and primefaces /spring webflow. How I can do that? Any examples?
And I have to make one checkbox which allow to check all generated checkboxes using one click.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月朦胧 2025-01-03 03:38:05

我有一个多选列表框

,因此,具有固定 值的

<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");
}

根据用户选择的元素数量,我必须显示相同数量的复选框

因此,只需预填充 :selectManyCheckbox> 基于 的值。

<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,只需将 替换为 。然而,我不知道 Spring Webflow 在其中如何发挥作用,因为我从未使用过它。


我必须创建一个复选框,以便通过单击即可检查所有生成的复选框。

这留给您作为练习。提示:确保 availableCheckboxItems 包含所需的值,具体取决于应表示“切换所选项目”的 的当前值。

I have a multiselect listbox

Thus, a <h:selectManyListbox> with a fixed <f:selectItems> value.

<h:selectManyListbox id="listbox" value="#{bean.selectedListboxItems}">
    <f:selectItems value="#{bean.availableListboxItems}" />
</h:selectManyListbox>

With something like:

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");
}

and depending on how many elements user will choose I have to show same number of checkboxes

Thus, just prepopulate the <f:selectItems> of a <h:selectManyCheckbox> based on the value of the <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>

with something like

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);
    }
}

I'm using jsf and primefaces /spring webflow. How I can do that? Any examples?

I believe the above trivial examples are sufficient. For PrimeFaces, just replace <h:xxx> with <p:xxx>. I have however no idea how Spring Webflow plays a role in this as I have never used it.


And I have to make one checkbox which allow to check all generated checkboxes using one click.

That's left as an exercise for you. Hint: make sure that availableCheckboxItems contains the desired values depending on the current value of the <h:selectBooleanCheckbox> which should represent the "toggle selected items".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文