0
votes

Comment retourner des valeurs de HTML avec la même classe dans un tableau

J'ai fait une étiquette de sélection dans HTML et a donné toutes les options différentes valeurs comme celle-ci.

J'appelle d'abord la classe et que vous stockez dans var = valeurs puis à l'aide de la boucle pour laquelle j'ai essayé de mettre les valeurs dans un tableau mais je Obtenez cette erreur (I.Value n'est pas iTérable) xxx

Sortie attendue: originalvalues ​​= [1,2,3, ...] < / p>


1 commentaires

Est-ce que cela répond à votre question? pour boucle pour les éléments HTMCollection


5 Réponses :


0
votes

Le message d'erreur que vous avez reçu est exactement correct. Le HTMLCollection renvoyé par getelementsbyclassname n'est pas démonérable, vous ne pouvez donc pas utiliser la syntaxe de diffusion ( ... ) dessus. Si vous souhaitez itérer sur elle, vous devrez utiliser le pour ... de boucle ou une standard pour de la boucle, comme: XXX

ou xxx


4 commentaires

Votre code n'est pas clair ... à votre premier code Qu'est-ce que la ligne de code ... si cette ligne renvoie les valeurs? ........................ Laissez les valeurs = nœud.value


@Marcomaher vous pouvez faire ce que vous voulez avec le nœud.Value. Vous pouvez le connecter, vous pouvez le mettre dans un tableau - n'a pas d'importance.


Je ne pouvais pas l'obtenir au début, mais votre code fonctionne parfaitement grâce à l'aide!


@Marcomaher heureux je pourrais aider



0
votes

jQuery rend cette assez simple. Prenez la balise Select par sa classe, .op code>, puis saisissez toutes ses options enfants avec l'option > code> et simplement la boucle sur eux.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>


1 commentaires

Merci d'avoir aidé votre réponse au travail. Mais regardez la réponse de Barak Avraham, c'est plus simple et a également travaillé ... Pourquoi utiliserais-je JQuery sur simple JS



1
votes
const inputs = document.getElementsByClassName('op')
for (const input of inputs) {
    console.log(input.value)
}

0 commentaires

0
votes

Ajoutez l'identifiant dans Sélectionner une condition juste comme ça;

<select name="opps" id="opps">
    <option class="op" value="3"></option>
    <option class="op" value="4"></option>
    <option class="op" value="5"></option>
</select>

var assignedId = new Array();
$("#opps option").each(function()
{
    assignedId.push($(this).val());
});
console.log(assignedId);


0 commentaires

2
votes

une ligne, pas de jQuery!
const htmlCollection = document.getElementsByClassName('op');
const originalValues = []

for (let i = 0; i < htmlCollection.length; i++) {
    originalValues[i] = htmlCollection[i].value;
    console.log(originalValues)
}


0 commentaires