我正在使用Scala Play Framework,Twirl和jQuery。
我有一个动态的行表,取决于模型中的数据量:
<table>
@for(i <- someDataModel){ //play form containing several fields
<tr id="dataRow">@i.name</tr> //display the name field string
}
</table>
我想收集这些行中的所有值,并将它们添加到数组中,以便在jQuery中处理它们以进行CSV导出。
我试图使用jQuery收集数据:
$('#dataRow').filter(function () {
var array = [];
var getData = $('[id="' + this.id + '"]').text(); //get all rows
var i;
for (i = 0; i < x.length; ++i) {
alert(x[i]) //pop up on screen with each value found
array.push(x[i]) //add to the array
}
});
上面的代码确实找到了所有行值,但它一次收集所有字符串名称,将它们全部合并为一个字符串,然后遍历每个字符。所以它几乎就在那里,但我只需要价值观是完整的。
我的问题是如何分别遍历所有这些数据,并在所有行具有相同ID时将它们添加到数组中?
答案 0 :(得分:1)
如何而不是这样做:
var getData = $('[id="' + this.id + '"]').text();
你做这样的事情:
var getData = $('[id="' + this.id + '"]').each(function(){
var value = $(this).text();
alert(value);
array.push(value)
});
评论中的人是正确的,你需要使用类。然后,您可以使用.className而不是选择id属性,但在这种情况下,它并不重要。你真的不想拥有超过1个唯一ID,如果你这样做,那么你做错了。