Al hacer click en un checkbox jquery solo funciona si hay un alert

publicado por: Anonymous

Tengo una lista de checkbox, el usuario selecciona los de su preferencia y despues presiona un botón y se guardan.

$('#GuardarPermisos').on('click', function () {
   Guardar();
}

Esto lo quiero cambiar a que cada vez que dan click en un checkbox se guarde la selección sin necesidad de presionar el botón.

Los checkbox generados tienen una clase, con la cual hago lo siguiente:

$('.tiposas').on('click', function () {
    alert('a');
});`

Cada que se da click en uno esto debe realizar una acción, pero no funciona a menos que ponga un alert antes del evento.

$(document).ready(function () {
   alert('con este alert si funciona')';
   $('.tiposas').on('click', function () {
   alert('a');
   });
});

NO se que estoy haciendo mal, espero me puedan ayudar

Gracias.

solución

En ciertas ocaciones cuando le hablas directo a los selectores no funciona, yo en lo particular le hablo al DOM para forzar a buscar donde quiera que esté te dejo un ejemplo

_x000D_

_x000D_

//Es lo mismo que document.ready, pero mas cordo_x000D_
$(function(){_x000D_
_x000D_
//Aquí es donde te digo que le hablo al document, le ligo el evento, le digo que selectores y le paso lo que quiero que haga_x000D_
$( document ).on( 'click', '.foo', function(){_x000D_
let val = $(this).val();_x000D_
  //Revisa en que status está el checkbox y controlalo según lo //desees_x000D_
  if( $( this ).is( ':checked' ) ){_x000D_
    alert( 'Guardando información de '+ val +'...' );_x000D_
  }_x000D_
  _x000D_
  else{_x000D_
    alert( 'Desguardando información de ' + val + '...' );_x000D_
  }_x000D_
});_x000D_
_x000D_
});

_x000D_

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
Foo<input type="checkbox" class="foo" value="Foo">_x000D_
Bar<input type="checkbox" class="foo" value="Bar">_x000D_
Poo<input type="checkbox" class="foo" value="Poo">_x000D_
Nee<input type="checkbox" class="foo" value="Nee">_x000D_
Lol<input type="checkbox" class="foo" value="Lol">

_x000D_

_x000D_

_x000D_

Espero te sirva

Respondido por: Anonymous

Leave a Reply

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