2017-03-28 15 views
0

こんにちは、私はonChangeイベントでremotefunctionを呼び出しています。ユーザーが親ドロップダウンから選択した場合、子ドロップダウンが親IDに属し、デフォルトの子ブロックが非表示になります。私はどのようにonchangeイベントで2つの関数を呼び出すのですか?2つのjQuery関数を呼び出すonChange

私のコード:

<g:select optionKey="id" from="${commonList}" class="fullBorderBox" value="${value?."${propertyName}"?."${commonPropertyName}"?.id}" name="${commonPropertyName}.id" noSelection="${['null': message(code: 'common.list.select')]}" onchange="${remoteFunction(
         controller: 'middlewareData', 
         action: 'populateVersion', 
         params: "'typeId=' + this.value + '&&lookUpProperty=' + '${commonPropertyName}'", 
         update: "populateSWVersion${dataindex}" 
        )}; $("#versionBlock${dataindex}").hide();"/> 


<span id="versionBlock${dataindex}"> 
       test="${value?."${propertyName}"?."${commonPropertyName}"?.id}"> 
        <g:select optionKey="id" from="${propertyList}" class="fullBorderBox" name="dummyVal" value="${value?."${propertyName}"?.id}" noSelection="${['null': message(code: 'common.list.select')]}" onclick="populateVersionList(null);" /> 

      </span> 
      %{---pass an dynami id to populate version block pick list----}% 
      <span id="populateSWVersion${dataindex}"></span> 

答えて

1

は、HTML内のすべてのJSハンドラを記述する必要はありません。コールバックイベントをJS内の関数に移動することができます。そして、あなたが望むどんな論理でもしてください。

${remoteFunction(
         controller: 'middlewareData', 
         action: 'populateVersion', 
         params: "'typeId=' + this.value + '&&lookUpProperty=' + '${commonPropertyName}'", 
         update: "populateSWVersion${dataindex}" 
        )}; $("#versionBlock${dataindex}").hide(); 

このコードをJS関数に移動します。このコールバックから、必要な他の関数を呼び出すことができます。

// make your server call 
    function getData(){ 
    $.ajax({ 
    //.... 
    }); 
    } 

そして、単にワイヤー変化イベントでこの機能、

onchange="getData()"

関連する問題