2017-04-18 75 views
0

我有一个jQuery追加表行的问题,我的情况是想追加新的行到表中的最后一行,追加的成功,但新行已附加到侧表,如何修理它?我是新手使用这种方式。 jsfield中的示例代码,谢谢。追加和删除行表jquery

var i = 1; 
 
    $("#addbutton").click(function() { 
 
     $("#t tr:first").append('<tr>'+ 
 
      '<td>File</td>'+ 
 
      '<td> <input type="file" name="file[]" id="txtTitle" name="txtTitle"></td>'+ 
 
      '<td><button type="button" class="removebutton" title="Remove this row">X</button></td></tr>').find("input").each(function() { 
 
     }); 
 
     i++; 
 
    }); 
 

 
    $(document).on('click', 'button.removebutton', function() { 
 
     $(this).closest('tr').remove(); 
 
     return false; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="t"> 
 
     <tr> 
 
      <td>Id Gor</td> 
 
      <td> <input type="text" name="Id Gor" id="txtTitle" name="txtTitle"></td> 
 
      <td>&nbsp;</td> 
 
     </tr> 
 
     <tr> 
 
      <td>File</td> 
 
      <td> <input type="file" name="file[]" id="txtTitle" name="txtTitle"></td> 
 
      <td>&nbsp;</td> 
 
     </tr> 
 
    </table> 
 
    <table> 
 
     <tr> 
 
      <td style="width: 33px;"></td> 
 
      <td style="width: 183px;">&nbsp;</td> 
 
      <td><input type="button" id="addbutton" value="Add Row"></td> 
 
     </tr> 
 
    </table>

enter code here 
+0

你要放置第一个文件的情况下输入新的文件输入?实际上你并没有把它放在边桌上,你把它放在同一张桌子上的新的一排,所以它从右侧显示。 – ReadyFreddy

+0

是的,我只是想删除tr:首先在jquery中。感谢您的信息@ReadyFreddy – Zeus234

+0

欢迎您。你也可以通过打开谷歌开发控制台来检查这一点,并在你的脚本后自己查看html代码。良好的编码。 – ReadyFreddy

回答

3

的错误是,你正在使用$( “#牛逼TR:第一”),该块越来越表#T的第一行(),和那么你正在做追加到它,行,所以实际上你的东西结束了像

<tr><tr></tr><tr></tr><tr></tr></tr> 

来完成你想要什么,只是删除TR:首先从选择。下面是你的代码与小修补工作。

var i = 1; 
 
    $("#addbutton").click(function() { 
 
     $("#t").append('<tr>'+ 
 
      '<td>File</td>'+ 
 
      '<td> <input type="file" name="file[]" id="txtTitle" name="txtTitle"></td>'+ 
 
      '<td><button type="button" class="removebutton" title="Remove this row">X</button></td></tr>').find("input").each(function() { 
 
     }); 
 
     i++; 
 
    }); 
 

 
    $(document).on('click', 'button.removebutton', function() { 
 
     $(this).closest('tr').remove(); 
 
     return false; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="t"> 
 
     <tr> 
 
      <td>Id Gor</td> 
 
      <td> <input type="text" name="Id Gor" id="txtTitle" name="txtTitle"></td> 
 
      <td>&nbsp;</td> 
 
     </tr> 
 
     <tr> 
 
      <td>File</td> 
 
      <td> <input type="file" name="file[]" id="txtTitle" name="txtTitle"></td> 
 
      <td>&nbsp;</td> 
 
     </tr> 
 
    </table> 
 
    <table> 
 
     <tr> 
 
      <td style="width: 33px;"></td> 
 
      <td style="width: 183px;">&nbsp;</td> 
 
      <td><input type="button" id="addbutton" value="Add Row"></td> 
 
     </tr> 
 
    </table>

+0

啊,让我困惑,解决方案只是删除tr:首先,非常感谢你:) @Gary – Zeus234