我的grails视图中有以下代码行
<g:select id="partner" name="partner.id" from="${org.strotmann.partner.Partner.partners}" optionKey="id" value="${auftragInstance?.kundenNr}" class="many-to-one" noSelection="['null': '']"/>
我希望它向我展示from子句中指定的列表作为选择框(工作正常)
从框中选择一个项目后,我希望它将该项目的id存储在value子句中指定的字段中(不起作用,始终为null)
我有点困惑,因为以下codeLine正是我所期望的:
<g:select id="partner" name="partner.id" from="${org.strotmann.partner.Partner.partners}" optionKey="id" value="${arbeitsgangInstance?.kundenNr}" class="many-to-one" noSelection="['null': '']"/>
有人可以告诉我哪里可以找到差异或者如何重新编码?
彼得让我重新提出我的问题:
我有一个清单
org.strotmann.partner.Partner.partners
它包含仅具有属性名称的合作伙伴,当然还包含ID。
我想要一个selectList中的名字,并希望合作伙伴的id存储在
中auftragInstance.kundenNr
随意编写工作代码:选择
彼得
答案 0 :(得分:2)
value属性用于提供初始选择。提交表单时,name属性将包含选定的值。在控制器中你可以这样得到它:
def partner = params.partner
答案 1 :(得分:0)
感谢masc的评论我发现AuftragController的保存和更新方法中缺少以下代码片段:
if (params.partner.id == 'null')
salesOrderInstance.kundenNr = 0
else
salesOrderInstance.kundenNr = params.partner.id.toLong()
该代码块已经包含在ArbeitsgangController中,因此我问题中的第二个html-line工作正常。
以下select(省略了id和value子句)也将执行:
<g:select name="partner.id" from="${org.strotmann.partner.Partner.partners}" optionKey="id" class="many-to-one" noSelection="['null': '']"/>
抱歉值条目
value="${auftragInstance?.kundenNr}"
不得删除,这对更新非常重要。