2013-11-15 14 views
1

所以,我已經有了一個基本的,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」!

任何人都有最偏僻的想法,爲什麼第一個輸入太好而不能拾起,而其他元素只是應該如此?

回答

1

T他唯一的區別是<input type="text">是一個純HTML標籤,而您使用$i的所有其他地方都是GSP標籤的屬性(richui:autocompleteg:select)。嘗試使用${i}代替:

<input type="text" name="any[${i}].id"> 

我不知道,短表(不使用大括號)是一個GSP有效隨時隨地,但較長的支柱形式肯定會在所有情況下工作。

+0

我可以吻你。乾杯! – MorkPork