Tengo una tabla con un botón para eliminar filas, y hay una columna en la tabla que buscaría entradas duplicadas. La función de eliminación y la función de verificación de duplicados funcionan bien. Pero si tengo un duplicado en las filas 1 y 5, y luego trato de eliminar la fila 3, aparecerá el mensaje de alerta antes de que desaparezca la fila 3. El resultado y el mensaje de alerta se muestran correctamente como "¡La fila 1 y la fila 4 están duplicadas!" pero la tabla todavía tiene la fila 5 antes de hacer clic en "Aceptar" en el cuadro de alerta (es decir, la fila 5 se eliminará una vez que haga clic en "Aceptar").
function Delete_Row(r) { var i = r.parentNode.parentNode.rowIndex; document.getElementById("Settlement_Table").deleteRow(i); for (var i = 1; i< document.getElementById("Settlement_Table").rows.length; i++){ document.getElementById("Settlement_Table").rows[i].cells[0].innerHTML = i; } myFunction(); } function myFunction() { var x = document.getElementsByName("Material[]"); var total_rows = document.getElementById("Settlement_Table").rows.length-1; for(var i=0; i<total_rows-1; i++){ for(var j=i+1; j<total_rows; j++){ if(x[i].value==x[j].value){ alert("Row "+ (i+1) + "and row " + (j+1) + " are duplicate!"); } } } } Por orden, la deleteRow(i) debe eliminar la fila y el innerHTML() debe actualizar la celda antes de que aparezca la alert(message) . Pero de alguna manera, el mensaje se muestra antes de que se actualice la visualización de la tabla. Estoy pensando que podría ser el problema prioritario con estas funciones, pero no estoy seguro. Gracias de antemano por cualquier ayuda.