Получение списка выбранных флажков в таблице - PullRequest
4 голосов
/ 27 марта 2012

Вот что у меня в таблице:

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

И вот как я пытаюсь получить выбранные экземпляры:

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

Я получаю пустой список.Как это исправить?Я открыт для предложений, если у вас есть лучшее решение.

Ответы [ 2 ]

6 голосов
/ 27 марта 2012

Попробуйте создать список флажков с тем же именем ввода, но разными значениями.

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

Затем в вашем контроллере вы можете получить список выбранных идентификаторов книг через:

params.list('books')
3 голосов
/ 05 ноября 2012

Мой ответ определенно поздно, так как вопрос был задан некоторое время назад.В любом случае я решил подобную проблему, пожалуйста, попробуйте это.

<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 ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...