【发布时间】:2014-06-14 10:03:33
【问题描述】:
假设您有一个显示书籍列表的表格(就像索引一样),并且您想在名为“Sold”的列中进行更改(例如,一个复选框)。因此,一旦您完成“检查”您已售出的书籍,您可以单击一个按钮进行保存!如何将该列表发送回控制器并更新它?
所以,代码是这样的,在控制器中:
定义一个方法(){ ... [bookInstanceList: myBookList] }
在普惠制中:
<g:each in="${bookInstanceList}" status="i" var="bookInstance">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
<td><g:link action="show" id="${bookInstance.id}">${fieldValue(bean: bookInstance, field: "author")}</g:link></td>
<td><g:checkBox name="sold" value="${bookInstance?.sold}" /></td>
<td>
</tr>
</g:each>
这个想法是通过复选框让用户更改该书的“已售”值,然后使用按钮进行提交。如何保存我的新 bookInstanceList?
非常感谢
【问题讨论】:
-
纯 grails 无法做到这一点。在我看来,最好的方法是引入 Javascript 来确定哪些书已“售出”,并将该列表提交给控制器。
-
OP 中没有任何内容不能用纯 Grails 完成或需要 Javascript。帖子中可能没有说明他可能想要使用 Javascript 的原因,但按照书面说明,他可以在没有 Javascript 的情况下做到这一点。
-
你说得对,我说得太早了。您的示例应用是执行此操作的好方法。
标签: list grails controller gsp