html 中如:
实现:table数据表格中,点击删除按钮时,验证相同子订单号条数是否大于1,大于允许删除。保证数据表格中只有唯一的一条子订单号数据。
<table style="width: 100%; background-color: #fff;" cellspacing="0" cellpadding="6" class="table1" id="GaiHuoTable"><tbody><tr style='background-color: #F7F7F7; height: 40px; font-weight: bold;'><td align='center'> 子订单号</td><td align='center'> 货号</td><td align='center'> 操作</td></tr><tr height="24" bgcolor="#ffffff" onmouseover="this.style.backgroundColor='#C6D6E7'" onmouseout="this.style.backgroundColor='#ffffff'" data_type="detail" id="<%=item["GuId"]%>" guid="<%=item["GuId"]%>" data_mark="edit" style="background-color: rgb(255, 255, 255);"><td align="left" style="width: 120px"><%=item["ZiOuterId"]%><input type="hidden" id="<%=item["GuId"]%>_ZiOuterId"/></td><td align="left" style="width: 120px"><input type="text" class="messager-input" id="<%=item["GuId"]%>_goodsId" style="width: 120px" value="TCA017a" autocomplete="off"></td><td> <a class="redbutton" onclick="DeleteDetail('<%=item["GuId"]%>');">删除</a></td></tr>
</table>
Js如:
function checkUniqueBeforeDelete(guid) {var trs = document.querySelectorAll('#GaiHuoTable tr[data_type="detail"]');var idCount = {};// 遍历所有明细行统计IDfor (var i = 0; i < trs.length; i++) {// 获取当前行的guidvar rowGuid = trs[i].getAttribute('guid');var hiddenInput = trs[i].querySelector('input[id="' + rowGuid + '_ZiOuterId"]');var ziOuterId = hiddenInput ? hiddenInput.value.trim() : '';if (ziOuterId) {idCount[ziOuterId] = (idCount[ziOuterId] || 0) + 1;}}// 获取当前行的ZiOuterIdvar currentTr = document.getElementById('tr_' + guid);var currentGuid = currentTr.getAttribute('guid');var currentIdInput = currentTr.querySelector('input[id="' + currentGuid + '_ZiOuterId"]');var currentId = currentIdInput ? currentIdInput.value.trim() : '';if (!currentId) {return false;}return idCount[currentId] > 1;}
调用:
function DeleteDetail(guid) {if (!checkUniqueBeforeDelete(guid)) {alert('只有超过相同的两条明细才可以删除');return;}}