2015-04-06 1 views
1

Когда пользователь нажимает этот флажок, я хочу вызвать функцию контроллера и передать текущий статус флажка, независимо от того, установлен он или нет.<g:checkBox> щелчок по вызову функции контроллера

Я знаю, как это сделать с помощью jQuery, но я хочу сделать это из самого checkbox.

<g:checkBox id="customer_checkbox" name="customer_checkbox" value="${checked}" /> 

функции контроллера будет называться:

class updateController { 
    def updateIndex() { 
     // do something 
    } 
} 
+0

Вы хотите, чтобы страница, чтобы обновить, когда пользователь нажимает на флажок, то есть она должна быть AJAX? – nickdos

ответ

3

U необходимо использовать remoteFunction от grails taglib. Этот тег генерировать для функции и АЯКС:

<select from="[1,2,3,4,5]" onchange="${remoteFunction(action: 'updateIndex', controller:'update',options: '[asynchronous: true]'}" /> 

Для получения дополнительной информации перейдите к docs

1

Флажок будет частью формы. Используйте javascript для вызова действия.

<g:form name="formName" controller="updateController" action="updateIndex"> 
    <!-- Other form elements --> 
    <g:checkBox id="customer_checkbox" name="customer_checkbox" value="${checked}" onChange="document.getElementById('formName').submit();"/> 
</g:form>