从控制器向两个选择框呈现相同的响应

时间:2012-03-18 02:15:48

标签: jquery grails render gsp

我创建了级联选择,如下所示 -

<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 }" />   

现在我想渲染和填充列&amp; 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")
        }

请帮助。

感谢

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试根据第一个选择的值填充两个选择的值。我建议返回一个JSON或渲染一个模板,包括一个模态地图,包括你的控制器的结果,并在你的视图上呈现它。 看看这两个问题:

how to populate 2nd Combobox(g:select) values on basis of 1st Combobox (g:select)

Grails: Load data on one ComboBox depending on another

希望这些有帮助