Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

293
Vistas
Javascript, ¿cómo le doy a una variable el valor de mi botón dinámicamente?

Estoy tratando de crear un filtro para ver qué calzado le queda mejor a la gente. Estoy creando múltiples preguntas y cada vez que presiono un botón quiero que el valor de ese botón se agregue a mi variable de URL. Parece que no puedo entender cómo obtener el valor del botón que presiono y agregarlo a la variable url con un & entre valores. Alguien puede ayudarme?

 var Test = [ [ 'Whats your size?', ['41', 'url1'], ['42', 'url2'], ['43', 'url3'] ], [ 'What color would you like?', ['Red', 'url1'], ['Blue', 'url2'], ['Yellow', 'url3'], ['Green', 'url4'] ], [ 'What brand would you like?', ['Adidas', 'url1'], ['Nike', 'url2'], ['Puma', 'url3'] ] ]; var url = '#'; count = 1; var questionNumber = 0; var button = document.getElementById('answer'); var question = document.getElementById('question'); var answerButton; function check() { //question console.log(Test[questionNumber][0]); for (let y = 1; y < Test[questionNumber].length; y++) { // url url = url + Test[questionNumber][y][1]; // button var btn = document.createElement('button'); btn.value = Test[questionNumber][y][1]; btn.className = "filter_anwser"; btn.textContent = Test[questionNumber][y][0]; btn.setAttribute('data-el', 1); button.appendChild(btn); // class answerButton = document.querySelectorAll('.filter_anwser'); // console.log(url); } // question var txt = document.createElement('h1'); txt.textContent = Test[questionNumber][0]; question.appendChild(txt); console.log("....."); // adds 1 to question to see a different question questionNumber++; }
 <div id="question"></div> <div id="answer"></div> <button onclick="check()">Next</button>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede enviar y luego generar la URL desde el objeto

Yo personalmente usaría tamaño, marca, etc. en lugar de url1, url1,

 function getLink(parms) { return "https://wwww.yourserver.com/shoes#"+parms.join(",") }; button.addEventListener("click",function(e) { const tgt = e.target; parms.push(tgt.value); console.log(getLink(parms)) }) 

 var Test = [ [ 'Whats your size?', ['41', 'url1'], ['42', 'url2'], ['43', 'url3'] ], [ 'What color would you like?', ['Red', 'url1'], ['Blue', 'url2'], ['Yellow', 'url3'], ['Green', 'url4'] ], [ 'What brand would you like?', ['Adidas', 'url1'], ['Nike', 'url2'], ['Puma', 'url3'] ] ]; // let parms = {}; let parms = [] count = 1; var questionNumber = 0; var button = document.getElementById('answer'); var question = document.getElementById('question'); var answerButton; function getLink(parms) { /* const url = new URL("https://wwww.yourserver.com/shoes"); for (let key in parms) { url.searchParams.append(key,parms[key]) } return url.toString() */ return "https://wwww.yourserver.com/shoes#"+parms.join(",") }; button.addEventListener("click",function(e) { const tgt = e.target; //parms[tgt.value] = tgt.textContent; parms.push(tgt.value); console.log(getLink(parms)) }) function check() { //question // console.log(Test[questionNumber][0]); for (let y = 1; y < Test[questionNumber].length; y++) { // button var btn = document.createElement('button'); btn.value = Test[questionNumber][y][1]; btn.className = "filter_anwser"; btn.textContent = Test[questionNumber][y][0]; btn.setAttribute('data-el', 1); button.appendChild(btn); // class answerButton = document.querySelectorAll('.filter_anwser'); // console.log(url); } // question var txt = document.createElement('h1'); txt.textContent = Test[questionNumber][0]; question.appendChild(txt); // adds 1 to question to see a different question questionNumber++; }
 <div id="question"></div> <div id="answer"></div> <button onclick="check()">Next</button>


respuesta antigua

 let parms = {}; function getLink(parms) { const url = new URL("https://wwww.yourserver.com/product"); for (let key in parms) { url.searchParams.append(key,parms[key]) } return url.toString() }; button.addEventListener("click",function(e) { const tgt = e.target; parms[tgt.value] = tgt.textContent; console.log(getLink(parms)) })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda