2017-04-18 18 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

ようこそ。また、これを確認するには、google dev-consoleを開いて、スクリプトの後に自分でhtmlコードを見てください。良いコーディング。 – ReadyFreddy

答えて

3

エラーはあなたが$( "#tの間tr:最初の")を使用していることで、そのブロックは、(最初​​の行を取得している)テーブル#tをの、および第1のセレクタから:次に、あなただけの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

関連する問題