兩個選擇框相同的反應,我創建級聯選擇如下 -呈現來自控制器
<td>Reference Table:</td>
<td><g:select name="tableCombo"
noSelection="${['':message(code:'Select Table')]}"
from="${result}" value="${tableName }" onchange="${remoteFunction(controller:'load',
action:'getColumns', update:'columns', params:'\'tableCombo=\' + this.value')}"/></td>
</tr>
<tr><td>Constraint On 1:</td>
<td><g:select name="columns" noSelection="${['':message(code:'Select Columns')]}" from="[]" /></td>
<td>Constraint Value :
</td>
<td><g:textField name="columnValue" value="${enterVal }" /> </td> </tr>
<tr><td>Constraint On 2:</td>
<td><g:select name="columns2" noSelection="${['':message(code:'Select Columns')]}" from="[]" /></td>
<td>Constraint Value :</td>
<td><g:textField name="columnValue" value="${enterVal }" />
現在我想渲染和填充列& columns2兩個選擇框的onchange tableCombo。但不知道如何從控制器渲染。
def getColumns = {
def columns = GGWSchemaXref.executeQuery("select distinct p.columnname from GGWSchemaXref p where p.tablename=:table",[table:params.tableCombo])
render g.select(from:columns, name:"columns")
}
請幫助這個。
感謝
感謝答覆Alidad。你是對的我想在第一個選擇框更改時更新兩個選擇框(一次)。我可以指定列和列2無論如何更新(下)onchange =「$ {remoteFunction(控制器:'加載', \t \t \t \t行動:'getColumns',更新:'列',params:'\'tableCombo = \ '+ THIS.VALUE')}「/> \t \t \t \t \t \t \t我已經使用了模板的方法。 \t \t \t \t \t \t \t – sana 2012-03-18 12:03:34
我不認爲你可以更新「更新」超過一個元素。基於這個jira http://jira.grails.org/browse/GRAILS-4878。但是你可以寫一個javascript函數來根據響應更新元素。而不是從控制器中呈現你的選擇,在地圖或JSON中返回所需的值,然後使用javascript渲染它們。 – Alidad 2012-03-18 23:58:41