我有一个基本结构:
<g:form>
actionSubmit
</g:form>
<g:form>
actionSubmit
</g:form>
<g:each in personList - variable=person>
<tr>
<td><g:checkBox name="personList" value="${person.id}" checked="${false}"/></td>
<td>
<g:form>
actionSubmit
</g:form>
</td>
</tr>
</g:each>
这些表单中的每一个都依赖于 personList 复选框数组作为变量。我的代码的先前版本将整个 div 包装在一个表单中,当我在表中添加第三个表单时,它可以工作但导致问题。
如何通过选定的复选框?我有选择所有框的复选框 - 我只需要为该选定框数组分配一个变量/hiddenField。
谢谢!
编辑
使用单一表单的问题在于,我在每一行中都有一列,能够将元素添加到一对多关系中。如果我可以通过相应的动作提交传递 person.id(所以如果我在第 2 行点击 actionSubmit,我想传递第 2 行的 person.id),那么这就是小菜一碟。
但是,每当我尝试绑定人员 ID 时,我都会得到一个 ALL 人员 ID 数组。所以我想解决这个问题的唯一方法是有单独的表格。
<td>
<div id="reportsToResultsDiv2_${person.id}" class="reportsToResultsDiv2_${person.id}">
<g:select id="reportsTo" name="reportsTo.id" from="${rtResults}" optionKey="id" value="" />
<g:actionSubmit action="addReportsTo" value="Add" params="[c_id:'${person.id}']"/>
</div>
</td>