2010-02-22 26 views
9

biraz sıkışmış deneyin Değerler Concatenate ve herkes yardımcı olabilir merak ..jQuery: İki Elements itibaren jQuery içinde bir şey elde etmek

Sana bir düzenleme butonuna tıklayın yeri işlevi, benim kendi düzenleme oluşturma ve Tanımlama listemin içeriği bir form için değiştirilir ... verilerle önceden doldurulur. this

All benzer Yani her yorum için etiket çıkışına benim HTML şekilde

olduğunu ... etiketlendiği her düzenlenebilir bölümde (kullanıcı yorum) dışında gayet iyi ve çok burada stackoverflow gibi, birden çok etiketi olabilir
<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> 

Yani ben yuva bir döngü tarafından kontrol edilen bir tanım listesinde benim kategoriler veya etiketler. ben bugüne kadar bunu yapmayı denedi Ne

....

Eğer kategori form alanı o yorum için mevcut etiketleri ile önceden doldurulmuş olacaktır düzenlemek için tıkladığınızda, böylece jQuery kullanarak bu catergories içeriğini kapmak olduğunu
$('.edit').click(function(){ 
    // Grab the text for all categories 
var sCategory = $(this).parents('dl').find('dd.categories dl dd.category').text(); 

//Build a form and prefill the category form field with the sCategory Variable 
form + '' // Other Data to build form 
form += '<dl><input name="sCategory" type="text" value="' + sCategory + '" /></dl>' 

// Show edit form prefilled with appropriate content 
$('dl#comment_id).(form); 

Bu, ancak bu giriş için birbirinin yanında, boşluk bırakmadan, tüm kategorileri görüntüler ... örneğin "JqueryColdfusionValidation". Im .each buradaki görevi gereklidir, ama biraz

çok teşekkür ederiz

cevap

24

Map() bu tür için iyidir nasıl uygulanacağı konusunda takılıp tahmin .... böylece "JqueryColdfusionValidation" görüntülemek nasıl merak oldu şey. Bu deneyin:

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

Thats güzellik gibi çalıştı, senin yardım için teşekkür pek Çok memnun eder – namtax

+0

. Sadece onay kutusunu tıklamayı unutmayın. : o) – user113716

+0

benim hatam, bunu yapmayı unuttum ... hepsi bitti – namtax

1

kolay yolu etrafında şey eklemek:

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

Harita() işlevini kullanmaktan ne kadar kolay? Artı, dizenin başında ve sonunda gereksiz boşluklarla sonuçlanırsınız. – user113716