【发布时间】:2014-09-03 13:01:49
【问题描述】:
我的 Grails 项目我有一个复选框。我想在复选框的onCheck() 方法中调用remoteFunction,如下所示:
if(checkbox.isChecked)
{
//do something
}
else
{
//do some other thing
}
事实是,我不知道在选中/取消选中后如何获取控制器中复选框的状态。是否需要使用一些javascript代码? 有什么建议吗?
编辑: 这是复选框
<g:checkBox name="hasStampDuty" value="${receiptInstance?.hasStampDuty}"
onclick="${remoteFunction(
controller: 'Receipt',
action: 'addStampDuty',
params: '\'id=\' + this.id+\'ischecked=\'+this.checked',
onSuccess: 'updateTotalAmount(\'totalAmount\', data, \'00000\')')}"
/>
其中addStampDuty如下:
def addStampDuty(Long id, boolean ischecked)
{
//add stamp duty value
def receiptInstance = Receipt.get(id)
if(ischecked != null)
{
if(ischecked) {
//do something
}
else {
//do some other
}
}
}
但id 始终为空...
【问题讨论】:
-
控制器中复选框的状态是元素是否在参数中以值退出。例如,如果您有一个名为“某物”的元素,并且在将表单发送到您的控制器时对其进行检查 params.something 将有一个值。如果未选中,则 params.something 将没有值。
-
事实是我需要在sumbit之前检查复选框,所以params没有params.something
-
那么您可能需要重新表述您的问题,因为您说“获取控制器中复选框的当前状态”。
标签: javascript grails checkbox controller