Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2017, 09:00
Avatar de aviweb2015
aviweb2015
 
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 1 mes
Puntos: 1
problemas con select

Amigos tengo un problema con un select. Resulta que cuando le pongo la clase: class="browser-default" me funciona perfectamente para el cálculo del porcentaje, pero cuando le quito la clase al select y dejo el select en su estado normal:
Código:
<select name="porcentaje" onblur="calcula_porcentaje(this.form)" required>
no me funciona el calculo del porcentaje, no se si sera algún problema con el framework de Materialize o me faltaría agregar algo en mi función Javascript. Anexo el código abajo:

formulario

Código PHP:
Ver original
  1. <form class="col s12 m12 l12" action="anadiradelantos" name="form" method="POST">
  2.  
  3. <br>
  4.  
  5. <div class="row">
  6. <div class="input-field col s12 m6">
  7. <input id="icon_prefix" class="black-text" type="text" name="cod_ticket" placeholder="Cód Ticket"  autocomplete="off" title="Disculpa, el n° de recibo debe contener nimino 4 digitos" pattern="[0-9]{4,10}" required/>
  8. </div>
  9.  
  10.  
  11. <div class="input-field col s12 m6">
  12. <select name="id_puntos" required/>
  13. <option value="" disabled selected>Punto:</option>
  14. <?php
  15. $consulta = $DB_con->query("SELECT * FROM puntos ORDER BY id_puntos");
  16. while ($linea = $consulta->fetch(PDO::FETCH_ASSOC)) {
  17. ?>
  18. <option value="<?php echo $linea['id_puntos'] ;?>"><?php echo $linea['puntos'] ;?></option>
  19. <?php
  20. }
  21. ?>
  22. </select>
  23. </div>
  24. </div>
  25.  
  26. <div class="row">
  27. <div class="input-field col s12 m3">
  28. <input id="icon_prefix"  type="text" class="black-text" name="monto" placeholder="Monto" autocomplete="off" title="Disculpa, seleccione una fecha" pattern="[0-9]{4,8}" required/>
  29. </div>
  30.  
  31.  
  32. <div class="input-field col s12 m3">
  33.      <select name="porcentaje"  onblur="calcula_porcentaje(this.form)" required/>
  34.         <option value="" disabled selected>Porcentaje:</option>
  35. <?php
  36.      $consulta = $DB_con->query("SELECT * FROM porcentaje ORDER BY id_porcentaje");
  37.        while ($linea = $consulta->fetch(PDO::FETCH_ASSOC)) {
  38.    ?>
  39.      <option value="<?php echo $linea['porcentaje'] ;?>"><?php echo $linea['porcentaje'] ;?>%</option>
  40. <?php
  41.       }
  42. ?>
  43.       </select>
  44. </div>
  45.  
  46.  
  47. <div class="input-field col s12 m3">
  48. <input id="icon_prefix"  type="text" class="black-text" name="ganancia"  placeholder="Ganancia"  readonly/>
  49. </div>
  50.  
  51.  
  52. <div class="input-field col s12 m3">
  53. <input id="icon_prefix"  type="text" class="black-text" name="total" placeholder="Total"  autocomplete="off" required/>
  54. </div>
  55. </div>
  56.  
  57.  
  58. <div class="center-align">
  59.  
  60. <button class="btn waves-effect blue-grey darken-4 btn-medium" type="submit" name="guardar">Crear Registro</button>
  61.  
  62. <button class="btn waves-effect blue-grey darken-4 btn-medium" type="reset" name="guardar">Limpiar</button>
  63.  
  64.  
  65. <a href='adelantos' button class='btn waves-effect blue-grey darken-4 btn-medium' type='submit'>Volver</a>
  66.  
  67. </div>
  68.  
  69.           <br>
  70.  
  71. <?php
  72. date_default_timezone_set('America/Caracas');
  73. $hora = new Datetime($linea['hora']);
  74. $linea['hora'] = $hora->format("h:i:sA");
  75. ?>
  76. <input type='hidden' name='hora' value='<?php echo $linea['hora']; ?>' />
  77. <input type="hidden" name="fecha" value="<?php echo date("Y-m-d"); ?>" />
  78.  
  79. <?php
  80. $consulta = $DB_con->query("SELECT * FROM usuarios WHERE id_nivel='Administrador'");
  81. while ($linea = $consulta->fetch(PDO::FETCH_ASSOC)) {
  82. ?>
  83. <input type="hidden" name="id_usuarios" value="<?php echo $linea['id_usuarios'] ;?>">
  84. <?php
  85. }
  86. ?>
  87.  
  88.  
  89.                    </form>


mi función

Código Javascript:
Ver original
  1. <script>
  2.    $(document).ready(function() {
  3.     $('select').material_select();
  4.     $(".button-collapse").sideNav();
  5.     $(".dropdown-button").dropdown();
  6.     $('.datepicker').pickadate({
  7.    
  8.     selectMonths: true, // Creates a dropdown to control month
  9.     selectYears: 15, // Creates a dropdown of 15 years to control year
  10.     format: 'yyyy-mm-dd'
  11.  
  12.   });
  13.   });
  14.   </script>
  15.  
  16.  
  17. <script type="text/javascript">
  18. $(document).ready(function(){
  19.   $("#hide").click(function(){
  20.     $("#element").hide();
  21.   });
  22.  
  23. });
  24. </script>
  25.  
  26. <script language="javascript">
  27.  
  28. function calcula_porcentaje(form) {
  29.  
  30.   var monto = form.monto.value;
  31.   var porcentaje = form.porcentaje.value;
  32.   var total = form.total.value;
  33.  
  34.   if (porcentaje.length === 0) { return; }
  35.   if (monto.length === 0 && total.length === 0) { return; }
  36.  
  37.   porcentaje = parseInt (porcentaje);
  38.  
  39.   var resultado = 0;
  40.  
  41.   if (total.length === 0) {
  42.  
  43.     monto = parseInt(monto);
  44.     resultado = monto * porcentaje/100;
  45.  
  46.     form.total.value = monto + resultado;
  47.  
  48.  
  49.     } else {
  50.  
  51.     total = parseInt(total);
  52.     resultado = total * porcentaje/100;
  53.    
  54.     form.monto.value = total - resultado;
  55.  
  56.     }
  57.  
  58.   form.ganancia.value = Math.round(resultado);  
  59.  
  60. }
  61.  
  62. </script>
__________________
yoclens avilan