iCheck vérifier si la case est cochée

j'utilise le plugin iCheck pour personnaliser les cases à cocher. J'ai besoin d'afficher certaines de texte lors de l' un ou plusieurs la case à cocher est cochée et le texte est masqué lorsqu'aucun texte n'est coché.

le code que j'ai actuellement affiche le texte sur le premier clic mais ne le cache pas sauf si je clique 2 fois de plus. J'ai plusieurs cases à cocher et j'aimerais montrer le texte si l'une d'elles est cochée, sinon masquez le texte. Quelqu'un a une idée? Plugin a:

ifChecked
ifChanged
ifClicked
ifUnchecked
ifToggled
ifDisabled
ifEnabled.......

rappels....Voici la fonction de plugin

$('input').iCheck({ 
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' // optional
});

Voici ce que j'ai essayé..

$('input').on('ifChecked', function(event){
$(".hide").toggle();
});

html

<input type="checkbox">
<div class"hide" style="display:none">Hi there</div>
41
demandé sur user3006683 2013-12-23 06:40:19

14 réponses

Pour ceux qui luttent avec ceci:

var chckValue = $('SELECTOR').iCheck('update')[0].checked;

Cela renvoie directement true ou falseboolean.

44
répondu Sercan Ozdemir 2016-01-02 07:15:53

Vérifiez ceci :

var checked = $(".myCheckbox").parent('[class*="icheckbox"]').hasClass("checked");

if(checked) {
  //do stuff
}
20
répondu Mohamed Ramrami 2015-12-02 08:59:39

vous pouvez obtenir la valeur de la case et le statut par

$('.i-checks').on('ifChanged', function(event) {
    alert('checked = ' + event.target.checked);
    alert('value = ' + event.target.value);
});
19
répondu grud phunsanit 2017-02-01 04:21:18

Vous avez juste besoin d'utiliser les callbacks, de la documentation: https://github.com/fronteed/iCheck#callbacks

$('input').on('ifChecked', function(event){
  alert(event.type + ' callback');
});
12
répondu user1883000 2014-04-14 15:32:12

tous les callbacks et fonctions sont documentés ici:http://fronteed.com/iCheck/#usage

$('input').iCheck('check'); — change input's state to checked
$('input').iCheck('uncheck'); — remove checked state
$('input').iCheck('toggle'); — toggle checked state
$('input').iCheck('disable'); — change input's state to disabled
$('input').iCheck('enable'); — remove disabled state
$('input').iCheck('indeterminate'); — change input's state to indeterminate
$('input').iCheck('determinate'); — remove indeterminate state
$('input').iCheck('update'); — apply input changes, which were done outside the plugin
$('input').iCheck('destroy'); — remove all traces of iCheck
8
répondu Evalds Urtans 2015-11-13 09:40:28

j'ai écrit quelques chose simple:

quand vous initialisez icheck comme:

$('input').iCheck({
    checkboxClass: 'icheckbox_square-blue',
    radioClass: 'iradio_square-blue',
    increaseArea: '20%' // optional
});

Ajouter ce code par:

$('input').on('ifChecked', function (event){
    $(this).closest("input").attr('checked', true);          
});
$('input').on('ifUnchecked', function (event) {
    $(this).closest("input").attr('checked', false);
});

après cela, vous pouvez facilement trouver l'état de votre case à cocher d'origine. J'ai écrit ce code pour utiliser icheckgridView et a accédé à son état à partir du serveur côte à côte par C#.

il suffit de trouver votre case à cocher à partir de son id.

6
répondu Sunny 2016-05-30 15:32:53

pour savoir si la case iCheck est cochée

var isChecked = $("#myicheckboxid").prop("checked");
5
répondu Ram Pratap 2016-06-14 15:46:07

Utilisez ce code pour iCheck:

$('.i-checks').iCheck({
    checkboxClass: 'icheckbox_square-green',
    radioClass: 'iradio_square-green',
}).on('ifChanged', function(e) {
    // Get the field name
    var isChecked = e.currentTarget.checked;

    if (isChecked == true) {

    }
});
4
répondu Abdus Salam Azad 2016-05-11 09:14:32

Appel

element.iCheck('update');

Pour obtenir la mise à jour de la majoration sur l'élément

3
répondu Shareef 2015-11-18 09:35:53

Utilisez le code suivant pour vérifier si iCheck est vérifié ou non en utilisant une seule méthode.

$('Selector').on('ifChanged', function(event){

    //Check if checkbox is checked or not
    var checkboxChecked = $(this).is(':checked');

    if(checkboxChecked) {
        alert("checked");
    }else{
        alert("un-checked");
    }
});
2
répondu Imran Ali 2017-03-21 06:55:49
$('input').on('ifChanged', function(event) {
             if($(".checkbox").is(":checked")) {
                $value = $(this).val();
             }

             else if($(".checkbox").is(":not(:checked)")) {
                $value= $(this).val();
             }
        });
1
répondu User0706 2017-04-03 07:23:19

cela fonctionne pour moi... essayer

// Check #x
$( "#x" ).prop( "checked", true );
 
// Uncheck #x
$( "#x" ).prop( "checked", false );
0
répondu Monzur 2016-06-22 20:04:24

vous pouvez envelopper toutes vos cases à cocher dans une classe parent et vérifier la longueur de .checked..

if( $('.your-parent-class').find('.checked').length ){
  $(".hide").toggle();
}
0
répondu shroy 2016-10-14 19:11:35

Utilisez cette méthode:

$(document).on('ifChecked','SELECTOR', function(event){
  alert(event.type + ' callback');
});
0
répondu maverabil 2018-08-31 14:06:26