gpt4 book ai didi

javascript - 将每个循环连接到另一个循环中

转载 作者:行者123 更新时间:2023-11-29 22:20:51 25 4
gpt4 key购买 nike

我想连接另一个 jquery each 循环的结果,但没有得到我期望的结果。

$.each(data, function () {
counter++;
var i = 0;
var singlebar;
var that = this;
tableRow = '<tr>' +
'<td>' + this.foo + '</td>' + //<---- should terminate this instead
$.each(this.bar, function(){
singlebar = '<td>' + that.bar[i].baz + '</td>';
tableRow += singlebar;
console.log(singlebar); // outputs "<td>the correct data</td>"
});
'</tr>';

$(tableRow).appendTo('#mainTable > tbody');
});

嵌套的 each 中的部分不会添加到返回的字符串中。

我可以 console.log(singlebar) 并在控制台中获得预期结果,但我无法在主 each 循环中连接这些结果。

我也试过:

        $.each(this.bar, function(){
tableRow += '<td>' + that.bar[i].baz + '</td>';
});

这也没有添加所需的内容。

如何遍历此嵌套数据并将其添加到主要 each 语句正在构建的表中?


解决方案(感谢 sushanth reddy)

我不应该继续尝试以这种方式连接。我应该在创建它时将字符串的每个部分添加到 tableRow 中,而不是一次全部添加。更像是:

            tableRow = '<tr>' +
'<td>' + this.foo + '</td>';

$.each(this.bar, function(){
singlebar = '<td>' + that.bar[i].baz + '</td>';
tableRow += singlebar;
});

tableRow += '</tr>';

最佳答案

你在错误的地点返回..试试这个

var counter = 0;
var tableRow = '';
$.each(data, function () {
counter++;
var i = 0;
var singlebar;
var that = this;
tableRow = '<tr>' +
'<td>' + this.foo + '</td>' +
$.each(this.bar, function(){
singlebar = '<td>' + that.bar[i].baz + '</td>';
tableRow += singlebar;
});
tableRow += '</tr>';

$(tableRow).appendTo('#mainTable tbody');
});

检查这个例子FIDDLE

还要确保在追加之前有 table 和 tbody 标签。

关于javascript - 将每个循环连接到另一个循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12521226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com