关于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>