所以我有一个基本的,g:每个都这样: -
<g:each in="${results}" status = "i" var="item">
<tr id = ${i} class="${(i % 2) == 0 ? 'even' : 'odd'}" name="main">
<td colspan="3">
<table id = "sub">
<tr>
<td><b>Action</b></td><td>
<g:select style="width:375px;"name="events[$i].id" from="${framework.EventType.list(sort:"userEventType")}" required="required" optionKey="id" value="${item.event_id}" /></td>
<td><b>Object</b></td>
<td>
<input type="text" name="any[$i].id">
<g:select style="width:550px;"id="objectID[$i]" name="objectID[$i].id" from="${framework.Object.list(sort:"objDesc")}" optionKey="id" required="" value="${item.object_id}" class="many-to-one"/>
<richui:autoComplete name="autocomp[$i].id" value= "${item.object_description}" action="${createLinkTo('dir': 'object/searchAJAX')}" maxResultsDisplayed="20" minQueryLength ="3" onItemSelect="youPickedThis(id,'autocomp[$i].id')" />
</td>
</tr>
</table>
</td>
</tr>
</g:each>
这里的所有内容都是在html中使用正确的名称生成的(即[$ i]在第一个上变为[0],在第二个上变为[1],依此类推。但是第一个输入(类型文本)只需将它们全部命名为“any [$ i] .id”!
任何人都有最遥远的想法,为什么第一个输入太好了不能拿起而其他元素只是继续使用它?
答案 0 :(得分:1)
我能看到的唯一区别是<input type="text">
是纯HTML标记,而您使用$i
的所有其他地方都是GSP标记的属性(richui:autocomplete
和{ {1}})。请尝试使用g:select
:
${i}
我不知道短格式(不使用大括号)在GSP中是有效的 where ,但是更长的大括号形式肯定适用于所有情况。