Generar button´s con onClick() con javascript

Iniciado por NaTxosS, 7 Diciembre 2016, 18:59 PM

0 Miembros y 1 Visitante están viendo este tema.

NaTxosS

Estoy tratando de hacer con un bucle for que genera una linea de texto con la etiqueta <p> acompañando cada línea con un button, cada button tiene el evento onClick que apunta a la misma función que los demás botones que se puedan generar en el bucle for.
Lo he planteado de esta manera:

function mostrarLeyes() {
               
               var cadenaResultante = "";
               
               for (var i=0; i<arrayPreposicionesLey.length; i++) {
                   cadenaResultante += "<p>"+arrayPreposicionesLey[i].getCadenaLey()+" <button onClick=\"votarLeyes("+ arrayPreposicionesLey[i] +")\">Votar ley</button></p>";
               }
               
               return cadenaResultante;
           }
.
.
.
document.getElementById("leyes").innerHTML = mostrarLeyes();

Cuando se ejecuta en el navegador se muestra todo como yo deseo, pero al hacer clic en cualquiera de los botones no sucede nada, en consola me sale el error de Ejercicio5.html:1 Uncaught SyntaxError: Unexpected identifier, que corresponde a la línea de <!DOCTYPE html>.
He probado a inspeccionar el código fuente en el navegador y compruebo que cuando haces un innerHTML no sale en el código fuente lo que insertas a traves de innerHTML.

He pensado que puede que el error este en el objeto que paso por parametros en la función del onClick

Gracias de antemano.




Viendo que no he tenido mucho éxito (no se si por no explicarme bien o porque), he pensado en explicar cual es el objetivo final para ver si me podéis ayudar. Esto es una tarea opcional de clase de Desarrollo Web en entorno cliente, donde de momento solo hemos visto javascript, lo comento esto porque a lo mejor me decís que lo que yo quiero hacer es para hacerlo con alguna otra tecnología complementaria como JQuery u otra cosa que aun desconozco.
Buenos al grano, lo que quiero hacer es esto:
Las lineas (texto de la ley + botón Votar ley) son mostradas en cada vuelta de un bucle for con innerHTML, si le damos a este botón, se llamaría a una función (onClick="votarLey(ley)")a  la que le pasamos la ley en cuestión donde en el div gris de abajo tengo que mostrar un plano en plan como el de la imagen superpuesta, con las luces de los políticos a favor(verde) o en contra(rojo). Espero tener algo mas de éxito. Gracias

MOD: No hacer doble post. Usa el botón modificar.
La mejor manera de hacerse optimista es pisando una buena mielda.

shaddy4ever

Hola... Si quieres, puedes llegarme al privado. Con gusto te ayudaré, saludos!

NaTxosS

Estoy intentando contactar contigo pero no me salen los mensajes en los buzones. No se si te están llegando.
La mejor manera de hacerse optimista es pisando una buena mielda.