Jquery pb avec .change

Résolu/Fermé
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - Modifié par Debutant en webmastering le 15/11/2016 à 18:54
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 17 nov. 2016 à 07:46
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

animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
15 nov. 2016 à 19:32
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
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
16 nov. 2016 à 08:51
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
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738 > Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021
16 nov. 2016 à 14:42
essayes ca (ca marche testé)
	$(document).ready(function(){
	    $("#UndefaultCheckbox").change(function(){
        if($(this).prop("checked"))
		{
		$("#UndefaultQuestion").show();
		}
		
	else
	        {
		$("#UndefaultQuestion").hide();
		}
	})
})
0
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 > animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019
17 nov. 2016 à 07:46
ç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