Grails - 选择菜单不渲染

时间:2014-06-02 20:13:21

标签: html grails

所以我创建了2个下拉菜单,其中第2个菜单根据第一个菜单动态更改。但是,第二个菜单不会呈现更改,但在使用Firebug查看帖子时提供了正确的选项。

这是应该呈现菜单的函数

def findSubtagsForTags(){
    print Tag.getAll()

    def tag = Tag.get(params.tag.id)

    render(template: 'subtagSelection', model:  [subtags: tag.subtags])
    }

这个方法是在我的_form.gsp模板中调用的,该模板由create.gsp调用(两者都是由grails脚手架生成的)。这是我的代码片段,我称之为

<g:select name="tag.id" from="${Tag.list()}" optionKey="id" optionValue="tagName"
            noSelection="['':'Choose Tag']"
            onchange="${remoteFunction (
                    controller: 'tag',
                    action: 'findSubtagsForTags',
                    params: '\'tag.id=\' + this.value',
                    update: 'subtagSelection'
            )}" />

 <td id="subtagSelection" valign="top">
        <select>
        <option>Choose Tag</option>
        <g:select name="subtags.id" id="subtags.id" from="${[]}" optionKey="id"/>
        </select>
</td>

并且正在呈现的subtagSelection模板是

<g:select name="subtag.id" from="${subtags}" optionValue="name" optionKey="id" id = "subtags.id"/> 

页面上的第二个菜单总是&#34;选择标签&#34;,但是使用Firebug,当我查看帖子时,会生成

<select name="subtag.id" id="subtags.id" >
<option value="1" >Training</option>
<option value="2" >Software</option>
</select> 

但是,第二个菜单没有变化。

在萤火虫的网络标签下,这是“放置”。我的函数调用的请求

Post:
    Parameters : tag.id 1
Source:
    tag.id=1

响应:

<select name="subtagSelection" id="subtagSelection" >
<option value="1" >Training</option>
<option value="2" >Software</option>
</select> 

任何想法/解决方案?

编辑:在使用https://stackoverflow.com/a/3771240/3691484作为参考,更改模板文件以及其他内容后,稍微更改了我的代码后问题得以解决

1 个答案:

答案 0 :(得分:0)

尝试一些修改 - 看看是否有任何区别:

<g:select name="tag.id" from="${Tag.list()}" optionKey="id" optionValue="tagName"
        noSelection="['':'Choose Tag']"
onchange="${remoteFunction (
        controller: 'tag',
        action: 'findSubtagsForTags',
        params: "'tag.id=' + this.value",
        update: 'subtagSelection'
    )}"
 />

<td id="subtagSelection11" valign="top">
<div id="subtagSelection">
<g:select name="subtags.id" id="subtags.id" from="[]"
optionKey="id" noSelection="['': 'Choose Tag']" />
</div>
</td>

选择中有一个小问题? - 在未选择任何内容时使用noSelection标记