如果条件为真“#{myBean.isCondition}”,我想将selectManyCheckbox的复选框设置为选中:
MyBean.java
public class MyBean{
private boolean isCondition;
...
public boolean isCondition{
return isCondition;
}
...
}my_page.jspx:
<h:selectManyCheckbox
layout="pageDirection"
label="#{messages['numsTelephone.label']}"
value="#{listSelected}">
<s:selectItems var="clientTelephone"
value="#{list}"
label="#{clientTelephone}" />
</h:selectManyCheckbox>我需要知道它是否存在
checked = "#{myBean.isCondition}"可以添加到我的selectManyCheckbox块中吗?或者我应该使用javascript?
任何其他的解决方案也是受欢迎的。
我的另一个问题是,如果选中一个复选框,如何将myBean.isCondition设置为true?
谢谢,
发布于 2016-01-15 19:15:51
在"Select all“复选框中使用<f:ajax>,在侦听器方法中执行选择工作,然后重新呈现复选框。
启动示例:
<h:form>
<h:selectBooleanCheckbox value="#{bean.selectAll}">
<f:ajax listener="#{bean.onSelectAll}" render="items" />
</h:selectBooleanCheckbox>
<h:selectManyCheckbox id="items" value="#{bean.selectedItems}">
<f:selectItems value="#{bean.availableItems}" />
</h:selectManyCheckbox>
</h:form>
@Named
@ViewScoped
public class Bean implements Serializable {
private boolean selectAll; // +getter +setter
private List<String> selectedItems; // +getter +setter
private Map<String, String> availableItems; // +getter (no setter necessary)
@PostConstruct
public void init() {
availableItems = new LinkedHashMap<String, String>();
availableItems.put("Foo label", "foo");
availableItems.put("Bar label", "bar");
availableItems.put("Baz label", "baz");
}
public void onSelectAll() {
selectedItems = selectAll ? new ArrayList<>(availableItems.values()) : null;
}
// ...
}https://stackoverflow.com/questions/34808480
复制相似问题