Jquery pb avec .change

Résolu
Debutant en webmastering Messages postés 444 Statut Membre -  
Debutant en webmastering Messages postés 444 Statut Membre -
Bonjour, bonsoir,
je débute en jquery mais si j'ai bien compris, celui-ci permet de modifier la dom selon des actions de l'utilisateur.
Ce que je cherche à faire à travers le script qui suit est :
à chaque changement de l'état de la checkbox nommée "UndefaultCheckbox" vérifier si elle est cochée et si oui afficher la div "UndefaultQuestion" sinon cacher cette dernière;
cependant aucun changement n'apparaît sur ma page


<script src="jquery-3.1.1.slim.js"></script>
<script>
$("#UndefaultCheckbox").change(function()
{
if ($("UndefaultCheckbox").checked)
{
$("#UndefaultQuestion").show();
}
else
{
$("#UndefaultQuestion").hide();
}
}
</script>


Cordialement,  Debutant en webmastering

1 réponse

  1. animostab Messages postés 3003 Date d'inscription   Statut Membre Dernière intervention   738
     
    salut
    essaye ca
    $(document).ready(function(){
    $("#UndefaultCheckbox").change(function(){
    	if ($("UndefaultCheckbox").is(':checked'))
    		{
    		$("#UndefaultQuestion").show();
    		}
    		else
    	        {
    		$("#UndefaultQuestion").hide();
    		}
    	})
    })
    
    

    tu avais oublié le ) à la fin
    0
    1. Debutant en webmastering Messages postés 444 Statut Membre
       
      Le fait de rajouter la parenthèse résout bien mon problème, je te remercie.

      Cependant ta version de code avec .is(':checked')) ne fonctionne pas chez moi est-ce normal sachant que mon html donne ceci
      <input type="checkbox" id="UndefaultCheckbox"/>Changer le format par défaut

      Par contre lorsque je coche la case, ça s'affiche bien mais lorsque je décoche le hide ne s'exécute (en inversant, je m’aperçois qu'il ne rentre jamais dans le else

      Rappel de mon code :

      <script>
      $("#UndefaultCheckbox").change(function()
      {
      if ($("UndefaultCheckbox").checked = true)
      {
      $("#UndefaultQuestion").show();
      }
      else
      {
      $("#UndefaultQuestion").hide();
      }
      }
      )
      </script>
      0
      1. animostab Messages postés 3003 Date d'inscription   Statut Membre Dernière intervention   738 > Debutant en webmastering Messages postés 444 Statut Membre
         
        essayes ca (ca marche testé)
        	$(document).ready(function(){
        	    $("#UndefaultCheckbox").change(function(){
                if($(this).prop("checked"))
        		{
        		$("#UndefaultQuestion").show();
        		}
        		
        	else
        	        {
        		$("#UndefaultQuestion").hide();
        		}
        	})
        })
        
        0
      2. Debutant en webmastering Messages postés 444 Statut Membre > animostab Messages postés 3003 Date d'inscription   Statut Membre Dernière intervention  
         
        ça fonctionne parfaitement, je vous remercie pour le temps passé à m'aider et je vais me pencher du côté de prop() en jquery
        0