2015-06-03 44 views
0

如何从ajax中的动态生成字段发送多个数据?从动态生成的字段发送多个ajax数据

由于我无法预先知道字段的数量,所以我使用了一个for循环,这对我不起作用。

$.ajax({ 
      type: 'GET', 
      data:{ 
       expectationPercentagePairId: JSON.stringify(expectationPercentagePairIds), 
       expectationScores: expectationScores, 
       for(var id in expectationPercentagePairIds){ 
        score-${id}: $("input[name='score-'+id]") 
       } 
      }, 
      url:'${g.createLink(controller:'review', action:'saveReview', params:[id: params.id])}' 
     }); 
+0

你可以将数据作为数组/ json – Sherlock

+0

这些字段的名称是不同的。我可以传递数据来自数据来自的字段的名称? – Yet

+0

这个expectationPercentagePairIds的内容是什么? – Sherlock

回答

1

一个循环不会在这里工作。您可以使用序列化来传递所有表单数据,然后在后端处理数据。

$.ajax({ 
     type: 'GET', 
     data:{ 
      $('form').serialize() 
     }, 
     url:'${g.createLink(controller:'review', action:'saveReview', params:[id: params.id])}' 
    }); 
+0

就像我所说的,但他并不想那样 – Sherlock

+0

非常感谢。它解决了。 – Yet

+0

@maku也许这是一个好主意,用example解释 – tvgemert

0

如果您的动态生成的字段是一个静态的父元素,你可以找到像$("#perantelem").find('input')所有的输入,然后你可以用你的ID过滤器(比分 - $ {ID})和生成的key/value(名称:值)数组或json