2017-11-20 20 views
0

trを削除してtrのidシーケンスを再生成するコードがあります。 しかし、それはtrクリックで動作し、私はボタンクリックでこれをやりたい私はこれをどうやって行うのか。理想的には、同じIDを置くべきではない - ここtrを削除する(動的削除と再生成)

は私のここでのコード

TR IDは動的であり、アルファベットと数字の組み合わせ

< script type = "text/javascript" > 
 

 
    $("tr").click(function() { 
 

 
    $(this).nextAll().each(function() { 
 

 
     var id = $(this).prop("id", function(index, idvalue) { 
 
     console.log(idvalue); 
 

 
     myArray = idvalue.split(/[0-9]+/); 
 
     var id_text = myArray[0]; 
 
     console.log(id_text); 
 

 
     var id_num = idvalue.replace(/^\D+/g, ''); 
 
     console.log(id_num); 
 

 
     var new_no = id_num - 1; 
 

 
     var new_id = id_text + '' + new_no; 
 

 
     return new_id; 
 

 
     }); 
 

 
    }); 
 

 
    $(this).remove(); 
 
    }); 
 

 
< 
 
/script>
<table> 
 
    <tbody> 
 
    <tr id='a1'> 
 
     <td>Row 1</td> 
 
     <td><input type="button" id="btn" name="btn" value="delete" /></td> 
 
    </tr> 
 
    <tr id='a2'> 
 
     <td>Row 2</td> 
 
     <td><input type="button" id="btn" name="btn" value="delete" /></td> 
 
    </tr> 
 
    <tr id='a3'> 
 
     <td>Row 3</td> 
 
     <td><input type="button" id="btn" name="btn" value="delete" /></td> 
 
    </tr> 
 
    <tr id='a4'> 
 
     <td>Row 4</td> 
 
     <td><input type="button" id="btn" name="btn" value="delete" /></td> 
 
    </tr> 
 
    <tr id='a5'> 
 
     <td>Row 5</td> 
 
     <td><input type="button" id="btn" name="btn" value="delete" /></td> 
 
    </tr> 
 
    </tbody> 
 
</table>

答えて

1

最初のものはありますすべての行の値。 idはDOM全体の一意の識別子です。

次は - $(tr)でやっているように、行全体を取ります。ボタンをクリックするだけで目的の行を削除するには

 $("[name=btn]").click(function() { 
      $(this).parents('tr').remove(); 
     }); 

あなたのような何かを試すことができます。

残りの操作については、ロジックを追加できます。

+0

[name = btn]を適用すると、行全体が削除されることはありません。ボタンだけを削除します。 –

+0

$(this).parents( 'tr')。これでやっているのなら、remove();行全体が削除されます。 – sSaroj

関連する問題