Duda de pinpin JS

MrBigel

Buenas señores,

Estoy creando una tabla con DOM en js, y no va mal, pero tengo la duda de como hago la tabla dinámica.

En este caso quiero hacer que:

Cada vez que pulses "+" o "-" resultManzanas sume o reste relativamente y devuelva el resultado en la tabla.

var resultManzanas = 0; 
    	var fila1 = document.createElement("tr");
	    var celda11 = document.createElement("td");
	    var celda12 = document.createElement("td");
	    var celda13 = document.createElement("td");
	    var sumar1 = document.createElement("button");
	    sumar1.innerHTML+="+";
	    var restar1 = document.createElement("button"); 
	    restar1.innerHTML+="-";
	    var textocelda11 = document.createTextNode("Manzanas");
	    celda11.appendChild(textocelda11);
	    celda12.innerHTML+=resultManzanas;
	    celda13.appendChild(sumar1);
	    celda13.appendChild(restar1);
	    fila1.appendChild(celda11);
	    fila1.appendChild(celda12);
	    fila1.appendChild(celda13);
    	tblBody.appendChild(fila1);

Muchas gracias.

MartiONE

#1 No soy un experto en javascript, pero, tienes que añadirle un listener a esos botones estilo:


sumar1.onclick = function(){document.getElementsByTagName("table").append...}

Asi cada vez que clickes en ese boton, la función que has declarado se ejecutará.

1 respuesta
MrBigel

#2 No entiendo lo que me quieres decir ¿Que cree de nuevo el objeto resultmanzanas con el nuevo valor cada vez que el evento onclick?

1 respuesta
MartiONE

#3 No se a que nivel estas en el tema de javascript, podrias copiar el código completo?

A lo que me refiero es, que asignes un evento a ese boton, que, al clickarlo (onclick) añada (append..) o quite una fila de tu tabla ya creada. Los eventos los puedes inicializar despues de crear la tabla entera y seran llamados dinámicamente cuando se cumplan sus condicione, en este caso, click.

El objeto resultamanzanas no tiene que ser creado de nuevo, tienes que modificarlo :)

babri

mirate esto y disfruta la fruta http://olifolkerd.github.io/tabulator/

1 respuesta
MartiONE

#5 jquery... plugin....

Si el chaval esta aprendiendo a hacerlo en javascript a pelo xD

1 respuesta
babri

#6 también es verdad D:

MrBigel

¿Alguien?

daviletor

Es justamente lo que te están diciendo, te falta añadir dos listeners, uno para cada uno de los botones, y que cada uno sume (o reste) "1" a valor de la celda en el que se indica el número de manzanas (es decir, celda12).
Si el código que has mostrado aquí es tal cual lo tienes en tu código, estos listeners van al final, de la forma en la que te han dicho más arriba.

Usuarios habituales

  • daviletor
  • MrBigel
  • babri
  • MartiONE