How to autollenar an input with preloaded data depending on the value of a dropdown and a numeric value in other input?

0

This is the first time I will ask a question that is probably going to be badly written, so I apologize in advance.

I have tried to carry out the request in the question for 2 days and I have not been able to achieve it, nor have I found any kind of response anywhere.

Try to apply the logic that is used in C # since it is the language that I use best. As for PHP and Javascript, I'm new and probably doing something wrong. I would appreciate your help. '

var dropdown2 = document.getElementById("AlcanceProyecto");
     var monto = document.getElementById("MontoPresupuestado");
     var prueba;

    if( dropdown2.value=='4' && monto >=150000 && <=2000000)
    {
      prueba = "Licitación Concurso Público Nacional";
    }

    document.getElementById("Prueba") = prueba;

    }

<div class="input-field col s12 m10 l10">
                <i class="material-icons prefix">attach_money</i>
                <input  id="MontoPresupuestado" name="MontoPresupuestado" type="number" class="validate" required title="Del Monto Presupuestado se Define Automaticamente la Modalidad/Metodología del Proceso">
                <label for="DescripcionAdquisicion">Monto Presupuestado US$</label>
            </div>
            
            <div class="row">
              <div class="input-field col s12 m10 l10" id="destinoBCIE"></div>
            </div>

            <div class="row">
              <div class="input-field col s12 m10 l10">

              <select class="browser-default" id="AlcanceProyecto" name="AlcanceProyecto">
                <option value="" disabled selected>Seleccione el Alcance del Proyecto</option>
                <option value="1">Licitación Público Internacional</option>
                <option value="2">Licitación Público Nacional</option>
                <option value="3">Concurso Público Internacional</option>
                <option value="4">Concurso Público Nacional</option>
                <option value="5">Aplicación de Legislación Nacional</option>
                <option value="6">Comparación de Precios o Calificaciones</option>

              </select>
            </div>
            </div>
            
              <div class="input-field col s12 m10 l10">
                <i class="material-icons prefix">attach_money</i>
                <input  id="Prueba" name="Prueba" type="text" class="validate" required title="Del Monto Presupuestado se Define Automaticamente la Modalidad/Metodología del Proceso">
                <label for="Prueba">Alcance</label>
            </div>

'

For now, everything would be through preloaded data without using a database and both the input and the dropdown will be managed with an ID to perform the condition in the js but still not manage to make it work.

    
asked by Rodriguez1222 02.03.2018 в 18:07
source

1 answer

0

Here's a simple example with Javascript . As a suggestion, try that the values you use for the options are acronyms because if they are numbers, they do not understand which option is selected, validation is done.

<div class="input-field col s12 m10 l10">
                <i class="material-icons prefix">attach_money</i>
                <input  id="MontoPresupuestado" name="MontoPresupuestado" type="number" class="validate" required title="Del Monto Presupuestado se Define Automaticamente la Modalidad/Metodología del Proceso" onchange="LoadValues()">
                <label for="DescripcionAdquisicion">Monto Presupuestado US$</label>
            </div>
            
            <div class="row">
              <div class="input-field col s12 m10 l10" id="destinoBCIE"></div>
            </div>

            <div class="row">
              <div class="input-field col s12 m10 l10">

              <select class="browser-default" id="AlcanceProyecto" name="AlcanceProyecto" onchange="LoadValues()" >
                <option value="" disabled selected>Seleccione el Alcance del Proyecto</option>
                <option value="1">Licitación Público Internacional</option>
                <option value="2">Licitación Público Nacional</option>
                <option value="3">Concurso Público Internacional</option>
                <option value="4">Concurso Público Nacional</option>
                <option value="5">Aplicación de Legislación Nacional</option>
                <option value="6">Comparación de Precios o Calificaciones</option>

              </select>
            </div>
            </div>
            
              <div class="input-field col s12 m10 l10">
                <i class="material-icons prefix">attach_money</i>
                <input  id="Prueba" name="Prueba" type="text" class="validate" required title="Del Monto Presupuestado se Define Automaticamente la Modalidad/Metodología del Proceso">
                <label for="Prueba">Alcance</label>
            </div>
<script>

     //funcion que se ejeucta cuando seleccionas un valor cualquiera del select o cambias el monto ingresado
    function LoadValues(){ 
        
      //obtienes el valor de tu monto y el alcance
      var monto = document.getElementById("MontoPresupuestado").value; 
      var alcance = document.getElementById("AlcanceProyecto").value; 
      var msg ="";
      
      //primero validamos si el monto es un numero
      if(monto == "" || isNaN(monto) ){ //si es true quiere decir que no es un numero
        document.getElementById("Prueba").value ="";
        return;
      }
      
      
      // aplicamos un switch para hacer las validaciones segun sea el caso
      switch(alcance){
      case "1":
          if(monto > 500) //validacion si el monto es mayor a 500
            msg = "Si cumple";
          else
            msg = "No cumple";

          break;     
      // aqui agrega un case por cada condicion que necesites

      }
      //finalmente setea el mensaje que debe aparecer
      document.getElementById("Prueba").value = msg;

    }
</script>
    
answered by 02.03.2018 / 22:27
source