Impedir que se carguen los mismos datos en un <table>
Publicado por Francisco Daniel (43 intervenciones) el 08/03/2021 16:55:12
Hola a todos: Tengo el siguiente código:
Lo que hace es agregar a una <table> los valos de dos select. El tema es que quiero impedir que se carguen valores duplicados. El select1 le puse edad pero en realidad tiene unos codigos de piezas. El tema es que quiero que no me permita cargar la misma pieza y el mismo nombre de trabajo del select2.
Como se puede hacer esto?
Muchas Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
document.querySelector("button[id=agregar]").addEventListener("click",function(e){
// cancelamos el evento submit
e.preventDefault();
/* Para obtener el texto */
var combo = document.getElementById("nombre");
var selected = combo.options[combo.selectedIndex].text;
// const nombre=document.querySelector("input[name=nombre]");
const nombre=selected;
var combo1 = document.getElementById("edad");
var selected1 = combo1.options[combo1.selectedIndex].text;
var cod_trabajo = combo1.options[combo1.selectedIndex].value;
// const edad=document.querySelector("input[name=edad]");
const edad=selected1;
const tr=document.createElement("tr");
const tdNombre=document.createElement("td");
// let txt=document.createTextNode(nombre.value);
let txt=document.createTextNode(nombre);
tdNombre.appendChild(txt);
tdNombre.className="nombre";
const tdEdad=document.createElement("td");
// txt=document.createTextNode(edad.value);
txt=document.createTextNode(edad);
tdEdad.appendChild(txt);
tdEdad.className="right";
agregarInput(nombre, cod_trabajo);
const tdRemove=document.createElement("td");
const buttonRemove=document.createElement("img");
buttonRemove.src="img/eliminar.png";
buttonRemove.onclick=function () {
//elimina el elemento del Select
eliminarInput(nombre, cod_trabajo);
// elimina la columna
this.closest("tr").remove();
// Si no hay ningun elemento en la columna, escondemos la tabla
if(document.getElementById("listado").querySelector("tbody").querySelectorAll("tr").length==0)
{
document.getElementById("listado").classList.add("hide");
}
};
tdRemove.appendChild(buttonRemove);
tr.appendChild(tdNombre);
tr.appendChild(tdEdad);
tr.appendChild(tdRemove);
const tbody=document.getElementById("listado").querySelector("tbody").appendChild(tr);
// eliminamos la clase que tiene oculta la tabla cando no hay ningun alumno
document.getElementById("listado").classList.remove("hide");
//limpiamos los valores del input
edad.value="";
nombre.value="";
nombre.focus();
});
Lo que hace es agregar a una <table> los valos de dos select. El tema es que quiero impedir que se carguen valores duplicados. El select1 le puse edad pero en realidad tiene unos codigos de piezas. El tema es que quiero que no me permita cargar la misma pieza y el mismo nombre de trabajo del select2.
Como se puede hacer esto?
Muchas Gracias
Valora esta pregunta


0