es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Llame a un conjunto de código de JS en lugar de otro.

Tengo un calculador/conversor de RF a banda L que estoy diseñando y desarrollando para mi trabajo en FT. C-Band fue fácil ya que solo usamos un rango de frecuencia. KU band tiene 2 rangos de frecuencia. Por lo tanto, para el calculador quiero usar botones de radio. Cuando un ingeniero selecciona Radio 1, usan las funciones codificadas para ese rango de frecuencia, si seleccionan Radio 2, usan las funciones codificadas para ese rango de frecuencia.

¿Qué puedo hacer para llamar a esto cuando la radio esté chequeada?

¿Debería crear una matriz de variables que asignen funciones? Soy bastante nuevo en JS, así que avísenme si no estoy siendo claro. TIA.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para llamar a una función específica cuando se selecciona un botón de radio, se puede agregar un “event listener” a cada botón de radio y utilizar una declaración “if” para determinar qué función llamar según el estado “checked” del botón de radio. Una forma de estructurar el código para manejar esto es crear una matriz de objetos, donde cada objeto representa un rango de frecuencia e incluye las funciones específicas para ese rango. Por ejemplo:

    // Definir las funciones para cada rango de frecuencia
    let freqRange1 = {
      calcFunc: function() {
        // código para cálculos para el rango de frecuencia 1
      },
      otherFunc: function() {
        // otras funciones para el rango de frecuencia 1
      }
    };
    
    let freqRange2 = {
      calcFunc: function() {
        // código para cálculos para el rango de frecuencia 2
      },
      otherFunc: function() {
        // otras funciones para el rango de frecuencia 2
      }
    };
    
    // Crear una matriz de los objetos de rango de frecuencias
    let freqRanges = [freqRange1, freqRange2];
    
    // Obtener referencias a los botones de radio
    let radio1 = document.getElementById('radio1');
    let radio2 = document.getElementById('radio2');
    
    // Agregar event listeners a los botones de radio
    radio1.addEventListener('change', updateFunctions);
    radio2.addEventListener('change', updateFunctions);
    
    // Función para actualizar las funciones de rango de frecuencia activas según el botón de radio seleccionado
    function updateFunctions() {
      let activeFreqRange;
    
      // Comprobar cuál botón de radio está seleccionado y establecer la variable activeFreqRange en consecuencia
      if (radio1.checked) {
        activeFreqRange = freqRange1;
      } else if (radio2.checked) {
        activeFreqRange = freqRange2;
      }
    
      // Llamar las funciones apropiadas para el objeto de rango de frecuencia activo
      activeFreqRange.calcFunc();
      activeFreqRange.otherFunc();
    }
    

    Este código crea dos objetos que representan los diferentes rangos de frecuencia, y los almacena en una matriz. Luego agrega “event listeners” a los botones de radio y llama la función updateFunctions cuando se selecciona alguno de ellos. La función updateFunctions determina cuál botón de radio está seleccionado y establece la variable activeFreqRange en el objeto correspondiente de la matriz freqRanges. Luego llama las funciones calcFunc y otherFunc del objeto de rango de frecuencia activo.

Comments are closed.