2012-07-03 63 views
1

我有兩個域(模型)作業和結果。 作業頁面列出已經運行的作業,結果頁面列出作業的結果。Grails:使用javascript在同一視圖中顯示結果

我想要做的是將這兩個頁面合併,以便用戶停留在一個頁面上。

我的解決方案是使用remoteFunction,而且我很接近,但我一直在從Grails獲取數據。下面的代碼調用我的控制器(方法DOIT),它返回一個Groovy列表:

... 
<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奇才,讓我怎麼處理這個結果列表?我已經嘗試了六種不同的東西,我很難過。我有一個部分結果表我想要展示結果。還是我用這種方法出現在左邊的領域?

回答

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]) 
} 
+0

我不知道我在做什麼錯,但是這並沒有爲我工作昨天。再次解決這個問題,它工作 - 是的! – rtfminc

+0

太棒了!樂意效勞! – Kelly