2010-02-22 8 views
9

peu coincé essayer de réaliser quelque chose dans Jquery et se demande si quelqu'un peut aider ..Jquery: Concaténer valeurs de deux éléments

Je crée ma propre modifier en fonction de lieu où vous cliquez sur un bouton d'édition, et la le contenu de ma liste de définition est permuté pour un formulaire ... pré-rempli avec des données. Similaire à this

Tout est bien en dehors de chaque section modifiable (commentaires de l'utilisateur) est marqué, et peut avoir plusieurs balises, un peu comme ici sur stackoverflow ... Donc, mon code HTML à la sortie de la balise pour chaque commentaire est comme si

<dl id='comment_id'> 
    <dt class="comment title">#i.getsTitle()#</a></dt> 
      // Other info 
    <dd class="categories"> 
     <dl> 
     <dt>Tags:</dt> 
    <cfloop array="#i.getCategory()#" index="ii"> 
    <dd class="category"><a href="">#ii.getsCategory()#</a></dd> 
</cfloop> 
    </dl> 
    </dd> 

nid Alors mes i catégories ou mots-clés dans une liste de définition, contrôlée par une boucle.

Ce que j'ai essayé de le faire jusqu'à présent est de récupérer le contenu de ces catergories utilisant Jquery, de sorte que lorsque vous cliquez pour modifier, le champ de formulaire de la catégorie sera prérempli avec les balises existantes pour ce commentaire ....

Cela fonctionne, mais il affiche toutes les catégories pour cette entrée les unes à côté des autres, sans espaces .... par exemple "JqueryColdfusionValidation". Je me demandais comment l'afficher comme si « JqueryColdfusionValidation » .... Im deviner la fonction .each est nécessaire, mais un peu coincé sur la façon de mettre en œuvre

Un grand merci

Répondre

24

Map() est bon pour ce genre de chose. Essayez ceci:

var sCategory = $(this).parents('dl').find('dd.categories dl dd.category').map(function() { 
    return $(this).text(); 
}).get().join(' '); 
+0

Cest a fonctionné comme une beauté, merci beaucoup pour votre aide – namtax

+0

Vous êtes bienvenus. N'oubliez pas de cliquer sur la case à cocher. : o) – user113716

+0

mon erreur, j'ai oublié de le faire ... tout est fait – namtax

1

façon la plus simple d'ajouter quoi que ce soit autour de:

var sCategory = ''; 
$(this).parents('dl').find('dd.categories dl dd.category').each(function(){ 
sCategory+=' '+$(this).text()+' '; 
}) 
+0

Comment est-ce plus facile que d'utiliser map()? De plus, vous vous retrouvez avec des espaces superflus au début et à la fin de la chaîne. – user113716

Questions connexes