Jquery pb avec .change
Résolu
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
Cordialement, Debutant en webmastering
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
-
salut
essaye ca$(document).ready(function(){ $("#UndefaultCheckbox").change(function(){ if ($("UndefaultCheckbox").is(':checked')) { $("#UndefaultQuestion").show(); } else { $("#UndefaultQuestion").hide(); } }) })
tu avais oublié le ) à la fin
-
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> -
@Debutant en webmasteringessayes ca (ca marche testé)
$(document).ready(function(){ $("#UndefaultCheckbox").change(function(){ if($(this).prop("checked")) { $("#UndefaultQuestion").show(); } else { $("#UndefaultQuestion").hide(); } }) }) -
@animostabça fonctionne parfaitement, je vous remercie pour le temps passé à m'aider et je vais me pencher du côté de prop() en jquery
-