2013-04-24 39 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}'