CheckBox下拉列表,在JSF中进行分组

时间:2014-08-27 13:20:54

标签: jquery jquery-ui jsf checkbox dropdownchecklist

我需要一个复选框下拉列表,该列表已分组,组头也应该是可选的。如果您选择组标题,则应选择该组下的所有子项。我尝试使用jquery ui dropdownchecklist进行分组,但组头不可选。查看下面的图片链接

http://i.stack.imgur.com/wbD7L.jpg

正如您所见,'时间表'是不可选择的。我需要' Timesheet'和'补充时间表'要有一个复选框,如果你点击它,必须选择它的所有子项。

2 个答案:

答案 0 :(得分:1)

如何将PrimeFaces树与复选框一起使用?看看他们的展示示例

Tree - Selection - Checkbox

enter image description here

答案 1 :(得分:0)

我看到你正在使用DDCL, 首先,您需要从here (ui.dropdownchecklist with patch)下载更新的 ui.dropdownchecklist.js 。它已使用其他 groupItemChecksWholeGroup 标记进行修补。

您需要做的就是设置groupItemChecksWholeGroup:true。

请参阅以下代码

ManagedBean的代码

public ArrayList<SelectItem> cars;
SelectItemGroup g1=new SelectItemGroup("BMWs");
SelectItemGroup g2=new SelectItemGroup("Audi");
g1.setSelectItems(new SelectItem[]{new SelectItem("320D", "320D"),new SelectItem("520D","520D"),new SelectItem("620D","620D"),new SelectItem("720D","720D")});
g2.setSelectItems(new SelectItem[]{new SelectItem("A3","A3"),new SelectItem("A6","A6"),new SelectItem("Q3","Q3"),new SelectItem("Q5","Q5"),new SelectItem("Q7","Q7")});
cars = new ArrayList<SelectItem>();
cars.add(g1);
cars.add(g2);

以下是Html文件的代码

<h:selectManyListbox id="s1" value="">
<f:selectItem id="item1" itemLabel="All" itemValue="1" />
<f:selectItems value="#{myBean.cars}" />

然后在你的Html头中添加这个jQuery脚本

<script type="text/javascript">
$(document).ready(function() {
    $("#s1").dropdownchecklist({
        firstItemChecksAll : true,
        groupItemChecksWholeGroup : true,
        width : 250
    });
});

结果将是

enter image description here