选择所有复选框无法正常工作
Posted
技术标签:
【中文标题】选择所有复选框无法正常工作【英文标题】:Select all checkboxes is not working properly 【发布时间】:2013-06-12 08:44:55 【问题描述】:这是我的代码: 当我试图单击我的选择框时,它的所有子选择框都需要选择,当我取消选中选择框时,它的所有子选择框都需要取消选择。我尝试了以下方式..但没有得到确切的输出。任何人都可以帮忙吗?
<ace:dataTable>
<ace:column>
<f:facet name="header" >
<ice:selectBooleanCheckbox partialSubmit="true" value="#maintainDocumentController.selectAll"
valueChangeListener="#maintainDocumentController.toggleSelectAll"/>
</f:facet>
<div align="center">
<ice:selectBooleanCheckbox value="#row.selected"
partialSubmit="true"
valueChangeListener="#maintainDocumentController.uncheckAllSelected" /></div>
</ace:column>
</ace:dataTable>
public void toggleSelectAll(ValueChangeEvent valueChangeEvent)
//this.selectAll=true;
if (valueChangeEvent != null)
if (!valueChangeEvent.getPhaseId().equals(
PhaseId.INVOKE_APPLICATION))
valueChangeEvent.setPhaseId(PhaseId.INVOKE_APPLICATION);
valueChangeEvent.queue();
return;
// End if
pickList=this.searchCriteriaVo.getResultList();
if (pickList != null)
int size=pickList.size();
for (int rowNum = 0; rowNum < size; rowNum++)
SearchCriteriaVo searchCriteriaVO = (SearchCriteriaVo) pickList.get(rowNum);
searchCriteriaVO.setSelected(((Boolean) valueChangeEvent
.getNewValue()).booleanValue());
public void uncheckAllSelected( ValueChangeEvent valueChangeEvent )
//this.selectAll=false;
if ( !valueChangeEvent.getPhaseId( ).equals( PhaseId.INVOKE_APPLICATION ) )
valueChangeEvent.setPhaseId( PhaseId.INVOKE_APPLICATION );
valueChangeEvent.queue( );
return;
// End If
SearchCriteriaVo tempSearchCriteriaVo=(SearchCriteriaVo)searchCriteriaVo.getDocMaintainTable().getRowData();
Boolean newValue = ( ( Boolean ) valueChangeEvent.getNewValue( ) ).booleanValue( );
tempSearchCriteriaVo.setSelected(newValue);
【问题讨论】:
【参考方案1】:我不知道这是哪个版本的 Icefaces,也不知道这里到底出了什么问题。但是你为什么不使用 ace:ajax 呢? ValueChangeEvent 更像是一些 JSF 1.x 方法。这样你也不需要控制任何阶段 id。
<ice:selectBooleanCheckbox ...>
<ace:ajax render="dataTableId" execute="@this" listener="#bean.listenerMethod">
<ice:selectBooleanCheckbox/>
您的侦听器方法应该将 AjaxBehaviourEvent 作为输入。您可以在 bean 中获取 selectBooleanCheckbox 组件的绑定值,然后使用它来实现您想要的任何逻辑。
【讨论】:
以上是关于选择所有复选框无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
iOS:带有复选框的 UIAccessibility(配音)无法正常工作
添加输入的所有rels的总和。与复选框一起工作正常,直到添加选择输入