1

Job と Results という 2 つのドメイン (モデル) があります。実行されたジョブを一覧表示するジョブ ページと、ジョブの結果を一覧表示する結果ページ。

私がやりたいことは、ユーザーが 1 つのページにとどまるように、これら 2 つのページを結合することです。

私の解決策は remoteFunction を使用することでした。私は近くにいますが、Grails からデータを取得することに固執しています。以下のコードはコントローラー (メソッドdoit ) を呼び出し、Groovy List を返します。

...  
<g:render template="resulttable" />
<button id=show>show()</button>
<script type="text/javascript">
$("#show").click(function () {
  // Returns Groovy List
  var results = <g:remoteFunction action="doit" id="${idx}" update="showit"/>  
  $(".resulttable").show('slow');
});

私は jQuery の専門家ではないので、この結果リストを処理するにはどうすればよいですか? 私は半ダースの異なることを試しましたが、困惑しています。結果を表示したい部分的な結果テーブルがあります。それとも、このアプローチでは左翼手ですか?

4

1 に答える 1

1

これを行うために必ずしも jQuery を直接使用する必要はないと思います。gsp を次のように設定できます。

<g:remoteLink action="doit" id="${idx}" update="showit"><button>show()</button></g:remoteLink>
<div id="showit">
</div>

そして、コントローラーで次のようにdoit操作します。

def doit = {
    //find your list here
    def yourList = ...
    render(template: "resulttable", model: [listInTemplate: yourList])
}
于 2012-07-04T04:06:40.153 に答える