JavaScript - Impedir que se carguen los mismos datos en un <table>

 
Vista:
sin imagen de perfil
Val: 39
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

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:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder