我有一个表,并使用jquery在我的表中添加更多tbody。现在我想删除选中的tbody当点击删除按钮僵尸我的代码删除一行而不删除所有选定的tbody。怎么办?我的代码是:
<div class='row' id="table_container">
<div class='col-xs-12 col-sm-12 col-md-12 col-lg-12'>
<table class="table table-bordered table-hover" id="invoice_table">
<thead>
<tr>
<th> <input id="check_all" class="formcontrol" type="checkbox"/></th>
<td>User Information</td>
</tr>
</thead>
<tbody>
<tr>
<td><span class="ui-icon ui-icon-arrowthick-2-n-s"></span> <input class="case" type="checkbox"/></td>
<td>Info</td>
</tr>
<tr>
<td> Name</td>
<td><input type="text" name="name[]" id="name_1" class="form-controlt"></td>
</tr>
<tr>
<td>Last Name</td>
<td><input type="text" name="lastname[]" id="lastname_1" class="form-control"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class='col-xs-12 col-sm-3 col-md-3 col-lg-3'>
<button class="btn btn-danger delete" type="button">- Delete</button>
<button class="btn btn-success addmore" type="button">+ Add More</button>
</div>
<script type="text/javascript">
var i=$('table tbody').length+1;
$(".addmore").on('click',function(){
html = '<tbody>';
html = '<tr>';
html += '<td> <span class="ui-icon ui-icon-arrowthick-2-n-s"></span> <input class="case" type="checkbox"/></td>';
html += '<td>Info</td>';
html += '</tr>';
html += '<tr>';
html += '<td>Name</td>';
html += '<td><input type="text" name="name[]" id="name_'+i+'" class="form-control"></td>';
html += '</tr>';
html += '<tr>';
html += '<td>Last Name</td>';
html += '<td><input type="text" name="lastname[]" id="lastname_'+i+'" class="form-control"></td>';
html += '</tr>';
html += '</tbody>';
$('table').append(html);
i++;
});
//to check all checkboxes
$(document).on('change','#check_all',function(){
$('input[class=case]:checkbox').prop("checked", $(this).is(':checked'));
});
$(".delete").on('click', function(){
$('.case:checkbox:checked').parents("tr").remove();
$('#check_all').prop("checked", false);
});
</script>
答案 0 :(得分:2)
你的问题来自这行代码:
$('.case:checkbox:checked').parents("tr").remove();
.parents("tr")
选择复选框中<tr>
个元素的祖先。尝试:
$(".case:checkbox:checked").closest("tbody").remove();