Cambiar valor a variable con click a botón

publicado por: Anonymous

Alguien por favor me puede explicar por que no se ejecuta cuando doy click en el botón, solo entra en el else lo cual esta correcto, pero en teoría al dar click al botón btn_limpiar_hora_extra debería cambiar el valor de la variable a true y ejecutar la condición. Gracias.

_x000D_

_x000D_

var ejecutar = false;_x000D_
$("#btn_limpiar_hora_extra").click(function() {_x000D_
  ejecutar = true;_x000D_
});_x000D_
if (ejecutar) {_x000D_
  alert("clicked");_x000D_
} else {_x000D_
  alert("no´t clicked");_x000D_
}

_x000D_

<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>_x000D_
_x000D_
<input type="button" id="btn_limpiar_hora_extra" name="btn_limpiar_hora_extra" value="Enviar" />

_x000D_

_x000D_

_x000D_

solución

Esto se debe a que no tienes el código dentro de la función click, si das click asignarás el valor true a la variable ejecutar, pero no podrás ejecutar el alert debido a que no lo estás llamando dentro de la función, solo se ejecuta cuando cargas la página debido a que desde un principio tiene el valor false y se manda a llamar la condición if, y como inicia con un valor false te ejecuta el else. Si presionas el botón estarás asignando true y nada más:

Código modificado:

_x000D_

_x000D_

var ejecutar = false;_x000D_
$("#btn_limpiar_hora_extra").click(function() {_x000D_
  ejecutar = true;_x000D_
  if (ejecutar) {_x000D_
  alert("clicked");_x000D_
} else {_x000D_
  alert("no´t clicked");_x000D_
}_x000D_
});

_x000D_

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>_x000D_
_x000D_
<input type="button" id="btn_limpiar_hora_extra" name="btn_limpiar_hora_extra" value="Enviar" />

_x000D_

_x000D_

_x000D_

Espero te ayude. Cualquier duda pregunta sin problemas. Saludos.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *