2016-04-26 22 views
1

我有一个向表中添加新行的函数。我还创建了一个函数,用类似的ID获取文本输入的值。如何在append中使用jQuery each()方法()

我想要做的是将收集的值追加到表中,每列一个。最后一列将包含删除行链接。我无法弄清楚如何在append方法中做迭代(也许是每种方法?)。这是我的代码。

添加行功能

$('.addrow').click(function(){ 
    $('.datatable > tbody:last-child') 
    .append($('<tr>') 
     .append($('<td>') 
      .append($('<a>') 
       .attr('id', 'deleterow') 
       .attr('href','#') 
       .text('delete') 
      ) 
     ) 
    ); 
}); 

删除行功能

$('.datatable').on('click', '.deleterow', function(){ 
    $(this).closest('tr').remove(); 
}); 

获取输入值功能

$("input[class='textinput']").map(function(){return $(this).val();}).get(); 
+0

你不会把'.each'放在'.append'中,反过来也是如此。写一个'.each()'循环,然后主体将另一个'​​'追加到''。 – Barmar

+0

最后,你在表中追加那个''。 – Barmar

回答

1

代码结构应该是这样的:

$("#addrow").click(function() { 
    var new_row = $("<tr>"); 
    $("input.textinput").each(function() { 
     new_row.append($("<td>", { 
      text: $(this).val(); 
     }); 
    }); 
    new_row.append($("<td>").append($("<a>", { 
     "class": "deleterow", 
     "href": "#", 
     "text": "delete" 
    }); 
    $(".datatable tbody").append(new_row); 
}); 

您遍历要用来填充表中的列中的数据,并在循环中,您添加每个单元格。

相关问题