2017-10-07 12 views
0

Comment exécuter du code javascript si la case est cochée?Comment se lier à la case cochée événement

case à cocher est définie comme

<input type="checkbox" id="Maksja_piiratudes" name="Maksja_piiratudes" 

onfocus="if(typeof this.ischanged=='undefined') this.ischanged=false" onblur="summarefresh()" onclick="dataChanged(this)"> 

J'ai essayé

$(function() { 
    $("#Maksja_piiratudes").on("change", function() { 

alert('checkbox is checked'); 

}); // end on change 
}); // end $ 

Mais cela fonctionne aussi si la case est cochée. Comment exécuter du code uniquement si checkgox est sélectionné?

Bootstrap 3, jquery, jquery UI sont utilisées.

+0

Une ligne était manquante. J'ai édité la question et ai ajouté la ligne manquante – Andrus

Répondre

2

Vous pouvez utiliser la propriété checked d'une entrée de case à cocher.

$(function() 
{ 
    $('#Maksja_piiratudes').on('change', function() 
    { 
     if (this.checked) 
     { 
      alert('checkbox is checked'); 
     } 
    }); 
}); 

Edit:

Je préfère le style de vanille plus .. si juste au cas où quelqu'un a besoin:

document.querySelector('#Maksja_piiratudes') 
     .addEventListener('change', function() 
{ 
    if (this.checked) 
    { 
     alert('checkbox is checked!'); 
    } 
}, false); 
+0

'event.target === this' – Andreas

+0

Cela se lie probablement dans toutes les cases à cocher dans la page. Comment exécuter du code pour une case spécifique uniquement définie par html est en question? Cette case à cocher est id unique et attributs nom 'id = "Maksja_piiratudes" name = "Maksja_piiratudes"' – Andrus

+0

C'était un exemple avant d'éditer votre code, voir ma dernière mise à jour – Kai

0

Essayez cette

$(function() { 
    $("#Maksja_piiratudes").on("change", function() {  
     if ($(this).prop("checked") == true) { 
      alert('checkbox is checked'); 
     } //end if 
    }); // end on change 
}); // end $ 

Si vous voulez pour le rendre global pour toutes les cases à cocher utilisent le ci-dessous:

$(function() { 
    $("input[type='checkbox']").on("change", function() {  
     if ($(this).prop("checked") == true) { 
      alert('checkbox is checked'); 
     } //end if 
     else { 
      alert('checkbox is unchecked'); 
     } 
    }); // end on change 
}); // end $