2 回答
TA贡献1909条经验 获得超7个赞
将<td>每个的第一个值<tr>作为相同的类,<tr>然后修改删除代码,如下所示:-
$(document).on('click', '.deleterow', function() {
var classofRow = $(this).closest('tr').attr('class');
var rowlength = $('table').find('.'+classofRow).length;
if(rowlength > 1){
$(this).closest('tr').remove();
}else{
alert("can't remove single record for "+classofRow);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="timelist">
<tr>
<th>Trip ID</th>
<th>Delete</th>
</tr>
<tbody>
<tr class="35KH1">
<td>35KH1</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH1">
<td>35KH1</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH1">
<td>35KH1</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH1">
<td>35KH1</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH1">
<td>35KH1</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH1">
<td>35KH1</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH2">
<td>35KH2</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH2">
<td>35KH2</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH3">
<td>35KH3</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
<tr class="35KH3">
<td>35KH3</td>
<td><a href='#' class='deleterow'>Delete Row</a></td>
</tr>
</tbody>
</table>
注意:- 正如@Barmar 所说:
.attr('class')如果您想添加其他可能用于 . 的类,使用会使事情变得困难。CSS使用类似的东西可能会更好data-trip-id="35KH1"
代码示例:- https://jsfiddle.net/bhn5gftc/1/
TA贡献1807条经验 获得超9个赞
我假设这些行是动态创建的。如果这是真的,那么您应该向包含三标识的按钮添加一个数据属性:
<tr>
<td>35KH1</td>
<td><a href='#' class='deleterow' data-tripid='35KH1'>Delete Row</a></td>
</tr>
现在您可以禁用基于tripid的按钮:
for(var tripid in tripids){
result += tripid + ':' + tripids[tripid] + '\n';
number += tripids[tripid]
if (tripids[tripid] === 1) {
$('a[data-tripid=' + tripid + ']').attr('disabled', true);
}
}
- 2 回答
- 0 关注
- 275 浏览
添加回答
举报
