我使用以下代码模拟表:
<div id="edit_table">
<div class="table_row">
<div class="table_cell">
<input type="text" id="Dt_of_Birth">
</div>
<div class="table_cell">
<input type="text" id="F_Name">
</div>
<div class="table_cell">
<input type="text" id="L_Name">
</div>
<div class="table_cell">
<button id="del_row">Delete Row</button>
</div>
</div>
</div>
<button id="add_row">Add Row</button>
并使用
动态添加此表中的行$('#add_row').on('click', function() {
$('.table_row:last').append('<div class="table_row"><div class="table_cell"><input type="text" id="Dt_of_Birth"></div><div class="table_cell"><input type="text" id="F_Name"></div><div class="table_cell"><input type="text" id="L_Name"></div><div class="table_cell"><button id="del_row">Delete Row</button> </div></div>');
});
当我尝试删除行时,单击行中的删除按钮,它的行为不正常。如果下方有行,请点击“删除”按钮。按钮,所有这些行向下都被删除。如何停止此操作并仅删除我单击按钮的那一行。
我删除特定行的代码是:
$(document).on('click', '#del_row', function() {
alert('Delete button clicked ....');
$(this).parent().parent('div .table_row').remove();
});
请帮助我使用正确的jQuery逻辑删除特定行
提前感谢您的帮助......
答案 0 :(得分:0)
您应该将.table_row
添加到#add_row
而不是.table_row:last
,#del_row
点击事件应该如下所示。
$('#add_row').on('click', function () {
$('#edit_table').append('<div class="table_row"><div class="table_cell"><input type="text" id="Dt_of_Birth"></div><div class="table_cell"><input type="text" id="F_Name"></div><div class="table_cell"><input type="text" id="L_Name"></div><div class="table_cell"><button id="del_row">Delete Row</button> </div></div>');
});
$(document).on('click', '#del_row', function () {
$(this).closest('.table_row').remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="edit_table">
<div class="table_row">
<div class="table_cell"><input type="text" id="Dt_of_Birth"></div>
<div class="table_cell"><input type="text" id="F_Name"></div>
<div class="table_cell"><input type="text" id="L_Name"></div>
<div class="table_cell"><button id="del_row">Delete Row</button> </div>
</div>
</div>
<button id="add_row">Add Row</button>
希望这能解决您的问题。
答案 1 :(得分:0)
添加行时,会在删除按钮下方创建一行吗?也许如果你把删除按钮放在div.table_row之外就行了。
答案 2 :(得分:0)
试试这个。我更改了以下内容:
$(function(){
$('#add_row').on('click', function(){
$('#edit_table').append('<div class="table_row"><div class="table_cell"><input type="text" id="Dt_of_Birth"></div><div class="table_cell"><input type="text" id="F_Name"></div><div class="table_cell"><input type="text" id="L_Name"></div><div class="table_cell"><button class="del_row">Delete Row</button> </div></div>');
});
$(document).on('click', '.del_row', function() {
alert('Delete button clicked ....');
$(this).parents('div .table_row').remove();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="edit_table">
</div>
<button id="add_row">Add Row</button>
&#13;