2016-12-31 8 views
1

行の削除ボタンをクリックすると表の行が削除されます。ボタンをクリックしたときに表の行を削除する

追加ボタンをクリックすると、テーブル本体に新しいフィールドと削除行ボタンが追加されます。

私が直面している問題は、削除行のボタンがHTMLでは動作しますが、JavaScriptでは動作しないということです。助けてください。

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 

 
    <!-- jQuery library --> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 

 
    <!-- Latest compiled JavaScript --> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
 
    <title>Page 2</title> 
 

 
</head> 
 

 
<body> 
 
    <table id="table"> 
 
    <tbody> 
 
     <tr> 
 
     <td>Field 1 
 
      <input type="text" name="field1"> 
 
     </td> 
 
     <td> 
 

 
      <button class="btn removemebtn">Remove Row!</button> 
 
     </td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 

 
    <button class="btn" id="addbtn">Add</button> 
 

 
    <script type="text/javascript"> 
 
    $(document) 
 
     .ready(
 
     function() { 
 
      $('#addbtn') 
 
      .click(
 
       function() { 
 
       $('tbody') 
 
        .append(
 
        '<tr>' + '<td>' + 'Field 2 <input type="text" name="field2">' + '</td>' + '<td>' + '<button class="btn removemebtn">Remove Row!!' + '</button>' + '</td>' 
 

 
        + '</tr>'); 
 
       }); 
 

 
      $('.removemebtn').click(function() { 
 
      $(this).closest('tr').remove(); 
 
      }); 
 
     }); 
 
    </script> 
 
</body> 
 

 
</html>

答えて

1

あなたの行を削除するときに$(document).ready ({/*..*/}).removebtnのイベントリスナーを設定しているので、あなたが抱えている問題が発生したので、新しいボタンが文句を言わない、同じイベントリスナーを持っています。

削除機能を関数にラップし、その関数を呼び出す各行にonclick属性を設定します。

関連する問題