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

146
Vistas
El valor de la opción <seleccionar> depende de la opción seleccionada de otro menú <seleccionar>

Recientemente comencé un curso de Javascript, por lo que todavía estoy descubriendo cómo hacer mejor las cosas básicas. Mi objetivo es tener 2 menús de selección, ambos con las mismas monedas y su valor, y convertirlos entre ellos.

Por ejemplo, si EUR del menú A se combina con EUR del menú B, será 1 * 1. USD será 1 * 1,06, y así sucesivamente, pero esto solo me permite convertir de euro a otra cosa.

Traté de averiguar si esto era posible con un bucle. ¿Funcionaría eso de alguna manera?

Editar: en el HTML, proporcionado por mstephen19, muestro el problema de no saber cómo usar estos 2 buzones para convertir múltiples monedas.

 //jquery-3.6.0.min.js const inputValue = Number(document.getElementById("inputVal").value); console.log(selectedText); console.log(selectedText2); function getResult(){ const selectedText = $('#menuA :selected').text(); const selectedText2 = $('#menuB :selected').text(); let result; if (selectedText === 'option1' && selectedText2 === 'option1'){ result = inputValue * 1; console.log(result); } else if (selectedText === 'option1' && selectedText2 === 'option2'){ result = inputValue * 0.1; console.log(result); } else if (selectedText === 'option1' && selectedText2 === 'option3'){ result = inputValue * 0.01; console.log(result); } else if (selectedText === 'option2' && selectedText2 === 'option1'){ result = inputValue * 5; console.log(result); } document.getElementById('resultbox').value = result; }
 <form> <input name="number" type="number" /> <select name="first" id="first"> <option value="1">EUR</option> <option value="1.06">USD</option> <option value="1.37">CAD</option> </select> <select name="second" id="second"> <option value="1">EUR</option> <option value="1.06">USD</option> <option value="1.37">CAD</option> </select> </form> <div id="resultBox"></div>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No estoy seguro de cómo está calculando estos multiplicadores ( 1, 5, 0.5, etc. ), pero creo que debería usar atributos de datos/atributos de valor y calcular su multiplicador usándolos en lugar de hacer un montón de si... declaraciones .else.

 const form = document.querySelector('form'); const resultBox = document.querySelector('div#resultBox'); const handleChange = () => { // Grab the data from the form const data = Object.fromEntries([...new FormData(form)]); // If input number is NaN, just do nothing if (isNaN(+data.number)) return; // Calculate what the multiplier should be const multiplier = +data.first * +data.second; // Calculate the result const result = data.number * multiplier; resultBox.textContent = result.toFixed(2); }; // Run the function every time the form is changed, // or the input changes form.addEventListener('change', handleChange); form.addEventListener('keyup', handleChange);
 <form> <input name="number" type="number" /> <select name="first" id="first"> <option value="1">Option One</option> <option value="5">Option Two</option> <option value="10">Option Three</option> </select> <select name="second" id="second"> <option value="1">Option One</option> <option value="0.1">Option Two</option> <option value="0.01">Option Three</option> </select> </form> <div id="resultBox"></div>

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