Javascript Force.append()在每次迭代时实际追加,而不只是覆盖上一次迭代

Javascript Force.append()在每次迭代时实际追加,而不只是覆盖上一次迭代,javascript,jquery,append,Javascript,Jquery,Append,我的代码通过一个js arrray\对象循环,以便在某些文本区域中附加一些存储值,但是,它只是附加上一次迭代。(或覆盖而不是在每次迭代中追加。) 我尝试过这里提到的所有解决方案:在我的研究期间,但没有运气 for (var j = 0; j < data['formValues'][0].length; j++) { //start appending on certain fields only if (data['formValues'][0][j]['name

我的代码通过一个js arrray\对象循环,以便在某些文本区域中附加一些存储值,但是,它只是附加上一次迭代。(或覆盖而不是在每次迭代中追加。)

我尝试过这里提到的所有解决方案:在我的研究期间,但没有运气

for (var j = 0; j < data['formValues'][0].length; j++) {
      //start appending on certain fields only
      if (data['formValues'][0][j]['name'] == 'DynamicTextBox') {
            var k = j;
            //l can't be larger than array length
            var l = k + 1;
            if (l === data['formValues'][0].length) {
                l = data['formValues'][0].length - 1;
                //compensate for loop increment
                k--;
                //render
                $("#TextBoxContainer").append(
                    '<div><textarea name="DynamicTextBox" rows="5">' + data['formValues'][0][k]['value'] + '</textarea>' + '<textarea name="DynamicTextBox" rows="5">' + data['formValues'][0][l]['value'] + '</textarea>' + '<button type="button" value="Remove" class="remove">Remove</button></div>'
                );
            }
        }
    }
for(var j=0;j

提前感谢。

您的问题不是
append()
,而是如何处理
k
l
变量。具体地说,在最后一个循环中只执行一次append,因为您选中了
(l==data['formValues'][0].length)
,这仅在最后一次迭代中是正确的

如果每次迭代只需要一个文本框,请删除所有k和l内容,然后执行以下操作:

for (var j = 0; j < data['formValues'][0].length; j++) {
    //start appending on certain fields only
    if (data['formValues'][0][j]['name'] == 'DynamicTextBox') {
        $("#TestTextBoxContainer").append(data['formValues'][0][j]['value'] + ' ');

        //render
        $("#TextBoxContainer").append(
            '<div><textarea name="DynamicTextBox" rows="5">' + data['formValues'][0][j]['value'] + '</textarea>' + '<button type="button" value="Remove" class="remove">Remove</button></div>'
        );

    }
}
for(var j=0;j

append()
不会覆盖任何内容。如果这是您看到的行为,那么肯定有其他一些逻辑干扰您的数组或附加到的元素。您能否编辑您的问题,以包含该问题的工作示例。该dzone链接中的所有示例都使用闭包/延迟执行/异步代码(例如setTimeout)。您提供的内容中没有异步代码,所以这不是原因。这是一个简单的检查,就在您的
.append
add
console.log(j,k,l,data['formValues'][0][k]['value'])之前,并查看它出现了多少次-如果它以不同的值多次出现,则您有一个覆盖场景(如前所述,
.append()
是不可能的)。如果它使用相同的值多次出现,则链接中存在问题。如果它只出现一次(此处的情况就是这样),则这是一个简单的逻辑问题(在.append之前的
==
)。