如何使用 jQuery 收集具有相同 ID 的 HTML 个元素的数组?
How to collect an array of HTML elements that have the same ID using jQuery?
我正在使用 Scala Play Framework、Twirl 和 jQuery。
我有一个动态的 table 行,具体取决于模型中的数据量:
<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 时,如何单独遍历所有这些数据并将它们添加到数组中?
不如这样做:
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,如果你这样做,那你就错了。
我正在使用 Scala Play Framework、Twirl 和 jQuery。
我有一个动态的 table 行,具体取决于模型中的数据量:
<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 时,如何单独遍历所有这些数据并将它们添加到数组中?
不如这样做:
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,如果你这样做,那你就错了。