2009-12-11 6 views
1

J'ai le code suivant:Comment accéder au tableau dans l'événement live jQuery?

var numberOfSelectedOptions = new Array(); 
numberOfSelectedOptions[0]=0; 
numberOfSelectedOptions[1]=0; 
numberOfSelectedOptions[2]=0; 

$("a.tagvariantoption").live("click", function(){ 
alert(numberOfSelectedOptions[2]); 
}); 

L'alerte dit toujours "non défini". Cela fonctionne parfaitement lors de l'alerte en dehors de l'événement en direct cependant. Des idées sur pourquoi mon tableau est indéfini ou inconnu dans l'événement en direct?

Heres quelques informations supplémentaires:

var startcount = 0; 
var numberOfSelectedOptions = new Array(); 
numberOfSelectedOptions[0]=0; 
numberOfSelectedOptions[1]=0; 
numberOfSelectedOptions[2]=0; 

$("a.tagvariantoption").live("click", function(){ 
    alert(startcount); //gives 0 
    alert(numberOfSelectedOptions[0]); //gives undefined??? 
)}; 

Le code HTML fonctionne parce que startcount est imprimé correctement, mais mon tableau reste inconnu dans l'événement.

+0

pouvez-vous ajouter votre html à la question – cgreeno

+0

Il n'y a pas assez d'informations ici pour répondre - cela fonctionne très bien pour moi dans Firefox 3.5.5 et IE 6.0. –

+0

html fonctionne bien, le clic est détecté et les alertes sont en cours d'impression. Array est inconnu dans l'événement, alors qu'une variable normale est parfaitement accessible – Jorre

Répondre

0

Je l'ai résolu en quelque sorte comme ceci:

var selectedOptionsCounter = new Array (0,0,0); À partir de ce moment-là, ce tableau est accessible dans l'événement en direct, aucune idée de ce qui n'allait pas auparavant.

+0

Quel navigateur utilisiez-vous pour tester? –

+0

Euh soudainement votre tableau a un nom différent numberOfSelectedOptions vs selectedOptionsCounter? – jitter

+0

'var selectedOptionsCounter = [0,0,0];' est ce que vous devriez faire ... – gnarf