获取表格中所选复选框的列表

时间:2012-03-26 22:13:40

标签: grails checkbox

这就是我在表格中的内容:

<td><g:checkBox name="book_${bookInstance.id}"/> </td>

这就是我尝试获取所选实例的方式:

params.each{
            if(it.key.startsWith("book_"))
                books << (it.key - "book_") as Integer
        }

我得到一个空列表。如何解决这个问题?如果你有更好的解决方案,我愿意接受建议。

2 个答案:

答案 0 :(得分:5)

尝试创建具有相同输入名称但值不同的复选框列表。

<g:each in="${books}" var="bookInstance">
    <g:checkBox name="books" value="${bookInstance.id}"/>
</g:each>

然后在您的控制器中,您可以通过以下方式获取所选书籍ID的列表:

params.list('books')

答案 1 :(得分:3)

我的回答肯定是迟到的,因为这个问题有一段时间被问到了。无论如何我解决了类似的问题,请试试这个。

<td><g:checkBox name="registerBook" value="${bookInstance.id}" checked="false"/> </td>

获取所选书籍列表的控制器代码:

def checkedBooks = params.list('registerBook')
//get list of books. this will return only the selected books
def selectedBooks = Book.getAll(checkedBooks)

for(result in selectedBooks){
//now manipulate the result as you wish ...
}