2013-04-24 31 views
1

我有以下代码:传递从组合框的onChange事件的两个参数

<g:select name="availableUser.id" from="${availableUsers}" 
        noSelection="['': message(code: 'global.noSelection')]" 
        optionKey="id" value="${name}" 
        onchange="${remoteFunction(
          controller: 'report', 
          action: 'getAvailableUsers', 
          params: [report: reportInstance.id, user: this.value], 
          update: 'userSelection' 
       )}"> 

在远程功能getAvailableUser我可以访问传递的参数命名的报告,但另外一个(用户)不断返回null,即使组合框是正确的渲染。像这样:

... 

<option value="21">John Smith</option> 

... 

我想要获取所选项目的值。在这种情况下,21

+0

我成功是这样的: params:''user.id ='+ this.value +'&& report ='+'$ {reportInstance.id}'“ – drago 2013-04-24 14:56:46

+0

但我仍然想知道最初的想法有什么问题。 – drago 2013-04-24 14:57:47

回答

0

这是因为remoteFunction依次写入一个JS函数触发基于所使用的corressponding库(JQueryDOJO等)的AJAX请求。 params属性需要根据您在项目中使用的AJAX库以原生格式提及。

马克当不同的库用于

JQuery的差: '\'user.id=\' + this.value + \'&report=\' + ${reportInstance.id}'

DOJO:为键 - 值对使用半冒号]

'\'user.id:\' + this.value + \', report:\' + ${reportInstance.id}'