problème variable et console.log

Par 0-sony, il y a 11 ans


Salut je viens de faire un petit bout de code et je ne comprends pas pourquoi je n'obtiens rien dans le console log.

var $jq = jQuery.noConflict(); var company = $jq('#company').val(); $jq(document).ready(function(){ $jq('#shipping_same_as_billing:checkbox').change( function(){ if($jq(this).is(':checked')){ console.log($jq('#company').val()); } }); });

Alors une chose que je ne comprends pas c'est au niveau de mon console.log.
Si je mets

console.log($jq('#company').val());

J'obtiens bien un résultat, mais si je mets

console.log(company);

J'ai un blanc
Quelqu'un pourrait m'en expliquer la raison?
Merci :)

3 réponses

maximeshr, il y a 11 ans

Je ne suis pas certain à 100%, mais tu définis var company avant que ton document ne soit présent dans le DOM (avant le document.ready()). Par conséquent il est vide car il n'existe pas.

0-sony, il y a 11 ans

Salut, merci d'avoir pris le temps de te pencher sur le sujet. J'ai eu la même idée, mais non, ca ne fonctionne toujours pas =) . Du coup je ne suis pas passé par la variable, je l'ai mis avec l'appelation jQuery entiere, mais bon je suis quand même curieux de savoir pourquoi =)

Blondin69, il y a 11 ans

Salut, je pense que ton block

$jq('#company').val();

n'a pas de valeur avant l'événement "change", donc la variable n'as forcément pas de valeur. Essaye avec :

$jq('#shipping_same_as_billing:checkbox').change( function(){ if($jq(this).is(':checked')){ company = $jq('#company').val(); console.log(company); } });

normalement sa devrait être bon.