带有嵌套<c:foreach>表的表中的<p:ajax>或<f:ajax>

时间:2015-11-17 15:52:52

标签: ajax jsf foreach html-table jsf-2.2

关于my original question,我仍然遇到以下问题:在表的一列中处理selectOneRadio值以更新同一表的另一列中的值。

在我原来的问题中,我使用数据表和子表进行了尝试,在lametaweb的建议和this question后由于以下行为而没有给出成功的结果:“tabView1:1:form1:mainTable:0:subTable1:0:panel”(没有正确的cliendId )在HTML中看到,我用嵌套的<c:forEach>手动构建表来重构它。

但是既不是也没有更新表中的值。以下是HTML中实际clientId的示例:form0:j_idt71:0

<h:form id="form0">

<table id="table0">

        <c:forEach var="head" items="#{subTableView.getAllHeaders('tabName')}">

                <tr>
                    <td>
                        <h:outputLabel style="bold" value="#{head.name}" />
                    </td>
                </tr>

            <c:forEach var="row" items="#{head.questions}">

                <tr>
                    <td width="300" height="33">
                        <h:outputLabel value="#{row.question}" />
                    </td>

                    <td width="500">

                        <p:selectOneRadio id="mainSelect" value="#{row.select1}" >

                            <f:selectItem itemLabel="Yes" itemValue="#{row.responseOfYes}" />
                            <f:selectItem itemLabel="No" itemValue="#{row.responseOfNo}" />/>

                        <p:ajax update="display"                                                                                        listener="#{subTableView.updateSecond(row.select1)}"/>

                        </p:selectOneRadio>

                    </td>

                    <td width="600">

                            <h:outputLabel id="display" value="#{row.select1}" />

                    </td>
                </tr>
            </c:forEach>

        </c:forEach>

</table>

0 个答案:

没有答案