-3
votes

Jquery val () retourne toujours la première valeur

J'essaie d'identifier un commentaire à partir de plusieurs commentaires en utilisant un référence lorsque quelqu'un clique sur Répondre. Mais JQuery continue de retourner juste la première valeur "F8eA3021-03D6-4099-8CC0-A3D9BE7CD3BE". Essayé depuis hier sans succès.

partie de HTML: xxx

structure: Entrez la description de l'image ici

jQuery: xxx

valeur attendue: On clic ne doit renvoyer que le commentaire pour ce commentaire particulier où le clic a été effectué. Donc, la classe .Reply est présente dans chaque objet multimédia


9 commentaires

Alors, quel est le comportement attendu? Vous ne pouvez obtenir que la valeur d'une entrée à la fois. Lorsque vous avez une collection JQuery d'éléments, presque toutes les méthodes Getter recevront du premier dans la collection, mais vous pouvez utiliser des méthodes de boucle telles que $. Chaque ou carte () ou filtre () pour isoler les instances


Pourquoi ne pas télécharger des images de code Donc, lorsque vous posez une question?


Pourquoi ne pas simplement examiner ce que dit le Doc? API.JQUERY.com/val Obtenez la valeur actuelle du premier élément dans l'ensemble des éléments appariés


iDownvotedbecau.se/norearch


@ Freedomn-m, je crois que vous avez droit à votre propre commentaire, mais de dire que je n'ai pas fait de recherche n'est pas correcte. Je ne pose généralement pas que si je suis coincé et qu'il n'y a pas de honte dans ce


@CODI "La fonction xxx ne fait pas ce que vous pense que cela devrait faire" ... La documentation indique clairement que cela fait ce qu'il fait correctement ... une conclusion évidente à quiconque lisant votre question est que vous n'avez clairement pas fait «T La peine de lire ce que la fonction devrait réellement faire ce qui manque de recherche. Être coincé va bien.


Il y a une poussée actuelle pour "juste bowvote et passer sur" meta.stackoverflow.com/questions/398537/... - que je ne crois pas en un bowvote sans raison est inutile; Donc, je vous ai donné la courtoisie d'inclure la raison du bowvote.


@Codi au-delà que vous n'avez toujours pas fourni le comportement attendu. Nous ne voyons aucun .Reply des éléments de votre image. Une hypothèse est donc nombreuses et que vous souhaitez une seule valeur liée à un spécifique ou que vous voulez. boucle à travers tous pour trouver quelque chose de spécifique. Objectif n'est pas bien détaillé


@charlietfl, j'ai mis à jour ma question. J'essayais d'utiliser le générique pour chacun mais oublié de supprimer [i] j'ai ajouté initialement comme console.log ("Commouvantfereferef =" + commentaire [I]);


3 Réponses :


0
votes

Si vous voulez obtenir tous les "commentaires" des objets avec la classe Commentaire code>, vous pouvez utiliser .Chafe code> ou d'autres méthodes.

.fait code> Méthode strong> p> xxx pré>

Démo strong> p>

P>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="commentReferenceId" value="test">
<input class="commentReferenceId" value="1">
<input class="commentReferenceId" value="2">


3 commentaires

Ou .map pour les faire tous dans un tableau (dépend de ce que vous voulez faire avec eux / quand)


@ Freedomn-m je suis d'accord, mais puisque nous ne pouvons pas être sûrs de ce que l'OP doit se produire, à l'exception de la console.Log, je viens d'ajouter de l'exemple.


C'est pourquoi j'ai ajouté la clause dépend :)



0
votes

objectif est toujours un peu floueux (pas bien expliqué) mais je pense que c'est ce que vous recherchez.

Pour obtenir la valeur spécifique dans le même support code> de la classe code> comme bouton traverser le bouton au le plus proche () code> conteneur de classe multimédia du bouton et Recherche () code> L'entrée associée dans ce conteneur P>

$('.reply').on('click', function() {
    // 'this' is the element instance the event occurred on              
    var commentReferenceId = $(this).closest('.media').find('.commentReferenceId').val();
    console.log("commentReferenceId = " + commentReferenceId);
});


2 commentaires

Pouvez-vous s'il vous plaît mettre à jour le sélecteur de jQuery pour la classe à ('.Media') sinon, il renvoie indéfini. Donc, je peux accepter cette réponse.


OPPS ... manquant un point dans le plus proche ("média") ...



0
votes

Vous pouvez utiliser Rechercher () pour résoudre ce problème

var medias = document.querySelectorAll('.media')
$('.reply').on('click', function(){

    var commentReferenceId = $(this).find('.commentReferenceId').val();
    console.log("commentReferenceId = " + commentReferenceId);}

);


0 commentaires