J'ai essayé d'ajouter des variables à partir d'une liste déroulante dans un tableau à l'aide de la fonction JQuery Array.Push () mais pour une raison quelconque, cela ne fonctionne pas. Voici la liaison Jsfiddle: http://jsfiddle.net/dkwnb/3/
JavaScript: p> < Pré> xxx pré>
html p>
3 Réponses :
Votre code alerte la valeur actuelle de la liste déroulante pour moi, montrant qu'elle a correctement poussé dans la matrice.
Voulez-vous conserver les valeurs anciennes et ajouter? Vous recréez la matrice à chaque fois, ce qui signifie que l'ancienne valeur est classée. P>
Voici un code mis à jour: p> jsfiddle p> p>
Votre HTML devrait inclure des guillemets pour les attributs: http://jsfiddle.net/dkwnb/4/ < / Strike>
Non requis lors de l'utilisation d'un HTML5 DOCTYPE - merci @bazmegakapa P>
Vous créez la matrice à chaque fois et ajoutez une valeur à son travail comme prévu? P>
Déplacement de la matrice en dehors de la fonction Live () fonctionne bien: p> http: //jsfiddle.net/dkwnb/5/ p> Notez également que dans les versions ultérieures de JQuery V1.7 -> la méthode Live () est obsolète et remplacée par le On () Méthode. P> P>
Il utilise un doctype HTML5. Il n'est pas obligatoire d'utiliser des citations autour des valeurs d'attribut.
@bazmegakapa ok comprise - j'ai appris quelque chose là-bas - Répondre mis à jour
Une autre solution de contournement:
var vpp = []; var incr=0; $('.prsn').each(function(idx) { if (this.checked) { var p=$('.pp').eq(idx).val(); vpp[incr]=(p); incr++; } }); //do what ever with vpp array;
Que devrait-il faire? Parce que c'est ici exactement ce qu'il semble faire.
Juste une note: Toujours déclarer des tableaux de cette façon
var myarray = []; code>
@Mat. Longue histoire courte, tout peut être ré-défini dans JavaScript, de sorte que
tableau () code>. Utilisation de
[] code> Garantie Vous aurez une matrice. Ceci est également plus efficace. Cochez cette case Répondre qui l'explique assez clairement.
Pour l'enregistrement, la méthode
.PUSH () code> est indigène JavaScript et n'a rien à voir avec JQuery.