2012-01-18 83 views
1

我有一個單選按鈕組這樣的:如何將用戶從radioGroup中選擇的值傳遞給一個操作?

<g:radioGroup name="myGroup" values="[1,2,3]" value="1" > 
<p><g:message code="${it.label}" />: ${it.radio}</p> 
</g:radioGroup> 

比方說,這是鑑於命名questions。用戶將從中選擇任何答案,然後他將點擊一個名爲calculate的按鈕。這會將他重定向到另一個名爲calculate的動作。現在在這個動作中,我如何從questions頁面獲得用戶選擇的答案?

其實我會在questions查看頁面有70多個問題。我如何管理這些?有什麼建議麼?

在此先感謝。

回答

1

匹配您的例子,答案將在myGroup參數:

def calculate() { 
    def answer = params.myGroup 
} 

我建議重命名myGroup到一個更有意義的名稱,如「問題」加上其指數如question1,question2等來區分問題的無線電組。這使您可以遍歷所有請求參數,並相應地分配答案:

def calculate() { 
    def questions = ... //list of questions rendered previously 
    questions.eachWithIndex { question, i -> 
    question.answer = params["question$i"] 
    } 
} 

當然問題回答分配塊取決於特定的邏輯/數據模型。

+0

感謝您的建議。這是我爲了舉例而從Grails doc中獲取的代碼。 – 2012-01-18 05:40:39

+0

在你的第二個代碼中,'def questions = ... //以前呈現的問題列表'我可以理解這一點嗎?你那是什麼意思? – 2012-01-18 05:44:46

+1

我猜你已經在questions.gsp中迭代了一組問題。要分配相應的答案,您需要在計算操作中使用同一組問題。用「..先前提示」我只是指在你的視圖中顯示的問題。 – david 2012-01-18 06:21:45

相關問題