<g:checkBox> 点击调用控制器函数

<g:checkBox> click calling a controller function

当用户点击复选框时,我想调用一个控制器函数并传递复选框的当前状态,无论是否选中。

我知道如何使用 jQuery 执行此操作,但我想从复选框本身执行此操作。

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

要调用的控制器函数:

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

复选框将成为表单的一部分。使用 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>

您需要使用 grails taglib 中的 remoteFunction。此标记为您 ajax 函数生成:

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

有关详细信息,请转至 docs