H:selectBooleanCheckbox不点火A4J:AJAX监听器里丰富:先点击数据表

问题描述 投票:2回答:2

当检查h:selectBooleanCheckBox第一次,听者不会触发。再次检查它,确实火了听众。我也试着做了同样的结果的valueChangeListener="selectRoleCheckboxChangeListener"一个h:selectBooleanCheckBox属性。这将在第二和随后的点击工作。我想对第一次点击这个火。想法?谢谢

<rich:dataTable id="roleTable" 
    value="#{roleBean.displayedRoles}" 
    var="roleItem"  
>
    <rich:column 
        id="selectRoleCheckboxColumn" 
    >
        <f:facet name="header">Select Role</f:facet>
        <h:selectBooleanCheckbox
            id="selectRoleCheckbox" 
            value="#{roleItem.selectRole}" 
            binding="#{roleBean.selectRoleCheckbox}"
        >
            <a4j:ajax 
                event="click" 
                listener="#{authorizationBean.selectRoleCheckboxListener}"
            /> 
        </h:selectBooleanCheckbox>
    </rich:column>
</rich:dataTable>
jsf-2 richfaces
2个回答
0
投票

我有同样的问题。我找到了上述问题的解决方案。

这个问题将是要么你的组件没有ID或对象或值集都没有得到体现。另一个问题是内在形式。

解决办法是......集ID的所有您的组件,如果值没有得到关于Ajax请求反映,渲染其值设置的组件。还没有形成一个表单中。

希望它应该工作...

这是一个很老的帖子。不过可能是有用的人。


-1
投票

试着这样说

<h:selectBooleanCheckbox id="selectRoleCheckbox" value="#{roleItem.selectRole}"         
  <a4j:support event="onchange" action="#{authorizationBean.selectRoleCheckboxListener}"/>
</h:selectBooleanCheckbox>

希望工程..

© www.soinside.com 2019 - 2024. All rights reserved.