将输入附加到表的下一行

时间:2016-02-26 20:19:06

标签: jquery append

如何将输入添加到表格的下一行,并将其作为最终提交的表单的一部分?在这种情况下,地址行之后的一行。

fiddle

$(function(){
       $('#addRow').click(function(){
           $("<tr><td><input type='text' value='' /></td></tr>")
           .attr("id", "city")
           .attr("name", "city")
           .appendTo("#test");
       });
      $('#sub').click(function(){
         var data = $('#test').serialize();
         alert(data);
      });
});


<form id='test' name='test' method='POST' action='#'>
<table align='center'>
<tr>
  <td>
    <input type='button' id='addRow' value='Add'>
  </td>
</tr>
<tr>
  <td>Name:</td>
  <td>
    <input type='text' id='name' name='name'>
  </td>
</tr>
<tr>
  <td>Address:</td>
  <td>
    <input type='text' id='address' name='address'>
  </td>
</tr>
<tR>
  <td>
    <input type='button' id='sub'>
  </td>
</tr>

1 个答案:

答案 0 :(得分:1)

好了,您可以将其附加到表单中。这就是文本框被抛到底部的原因。

如果要将其插入最后一行,您要做的是.appendTo表中的最后一行。我会尝试做类似的事情:

.appendTo("tr:last");

我的假设是你想在所有其他文本框下为文本框添加另一行。在这种情况下,我建议使用.insertBefore命令。这样,框就会在底部的提交按钮之前。哦,你也可能想为该文本框添加一个标签(JQuery中的另一个td标签)。

.insertBefore("tr:last");

查看this是否有帮助!