Question

Bonjour, je suis en train d’essayer quelque chose .. Je lisais Jquery en parcourant des documents sur certains forums, ce site Web posait auparavant des questions sur ce sujet .. aucune ne répond réellement à ma question, je vais donc la poser à la place .. voici l’affaire

  <div class="entry">
week
<span>some text</span>
<p>DKK</p>
<input type="radio" name="red<% Response.Write(counter); %>" id="radio2" value="75" />

</div>

J'ai donc utilisé une boucle while pour en créer un tas, de sorte que je n'ai pas à les copier-coller manuellement .. asp les génère .. maintenant vous voyez la section p qui dit DKK .. maintenant pour moi ne pas tout écrire manuellement. J'aimerais que tous les divs, p, ajoutent la valeur d'entrée à l'intérieur de cette div, voici ce que j'ai fait avec Jquery

$(document).ready(function() {
     $("input").each(function () {
                 var element_value = $(this).val();
                 $(this).closest("p").append(element_value + ",-");
                  }); 
 }); 

Donc, ce que j’ai essayé de faire est d’examiner chaque entrée et de collecter sa valeur, puis de rechercher la balise p la plus proche et de l’ajouter à sa valeur. Désormais, le résultat correct pour cet exemple ci-dessus serait

.
<p>DKK 75,-<p>

parce que la valeur d'entrée est 75 et qu'il a été inclus dans la fonction d'ajout, - ajoutons que ce code ne fonctionne pas, mais si je mets

$(this).parents("div.entry").append(element_value + ",-");

instead of

$(this).closest("p").append(element_value + ",-");

Les résultats corrects apparaissent, mais pas exactement où je les veux. J'espère que quelqu'un pourra m'aider, merci

Était-ce utile?

La solution

Si vous lisez la documentation de plus proche (), vous verrez qu'elle regarde uniquement vers le haut, pas de côté:

  

Obtenir un ensemble d’éléments contenant l’élément parent le plus proche qui correspond au sélecteur spécifié, l’élément de départ inclus.

Vous pouvez le faire pour trouver le précédent

à partir de l'entrée:

$(this).prev("p").append(element_value + ",-");

Ou un plus explicite:

$(this).closest("div.entry").find("p").append(element_value + ",-");

Ce qui ne dépendrait alors pas du côté du < p > sur lequel l'entrée est activée.

Autres conseils

Essayez ceci:

$(this).parents("div.entry").find('p:first').append(element_value + ",-");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top