Script personnalisé de blocs iCheck jQuery

J’ai utilisé “iCheck jQuery” pour modifier le style de la case à cocher. Mais quand j’ajoute un script iCheck, mon metl onlick cesse de fonctionner. Pourquoi ça se passe?

  $(document).ready(function(){ $('#my_cb').iCheck({ checkboxClass: 'icheckbox_square-blue', radioClass: 'iradio_square-blue', increaseArea: '20%' // optional }); });  

Mon script:

  function hide_row_metod() { if(document.getElementById('my_cb').checked){ document.getElementById('row1').style.display = "none"; }else{ document.getElementById('row1').style.display = "inline"; } }  

iCheck enregistre les événements personnalisés que vous pouvez écouter. J’ai mis en place un exemple de travail sur jsbin , la principale différence est la suivante:

 $("#my_cb").on("ifChanged", hide_row_metod); 

Il y a deux événements: ifChecked et ifUnchecked . Si vous souhaitez intercepter toutes les modifications apscopes à votre case à cocher, vous devez écouter les deux ou simplement ifChanged . Cela fonctionnera pour faire basculer la ligne pendant que vous testez la checked dans votre hide_row_metod .

Dans mon exemple, j’utilise un élément de bloc div#row1 , ainsi le rendu sera différent ( inline ) après vérification et désélection.

Aussi: vous avez une faute de frappe dans le nom de votre méthode ( h manquant).

Je sais que cela fait un certain temps que cette question a été posée. J’ai créé un script pour capturer l’atsortingbut onclick de chaque radio / case à cocher et l’attacher à son iCheck / iRadio correspondant. N’oubliez pas de l’exécuter APRES l’application de iCheck. Définissez un délai ou exécutez-le après la mise en œuvre de iCheck:

 $("[class*='icheckbox'],[class*='iradio']").each(function(){ $(this).find("ins").attr("onclick", $(this).find("input").attr("onclick")); }); 

Il est probablement remplacé par le script iCheck . Essayez d’utiliser uniquement jQuery:

 $('#my_cb').on('click', function() { $('#row1').css('display', this.checked ? 'none' : 'inline'); });