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'); });