2010-01-24 19 views
6

Hiçbir zaman jquery'li elemanlar arasında geçiş yapmadım ve bazı yardımlarla harika olurdu.jquery ile elemanlar arasında geçiş yapın?

benim DOM benziyor:

<div class="section"> 

    <div class="group"> 
     <div class="comment"> 
      <input class="comment" type="text" /> 
      <br /> 
     </div> 
     <div class="link"> 
      <input class="link" type="text" /> 
      <input class="link" type="text" /> 
      <br /> 
     </div> 
    </div> 

    <div class="group"> 
     <div class="comment"> 
      <input class="comment" type="text" /> 
      <input class="comment" type="text" /> 
      <br /> 
     </div> 
     <div class="link"> 
      <input class="link" type="text" /> 
      <br /> 
     </div> 
    </div> 

</div> 

nasıl ben metin giriş alanları (class = yorumun ve class = bağlantı) tüm değerleri almak için kod yazmak yapmak. Farklı sayıda metin girişi alanına sahip çok sayıda grup olacak.

Teşekkürler!

cevap

24
$(":input.comment, :input.link").each(function() { 
    alert($(this).val()); // or this.val 
}); 

Bkz:

+1

val bir fonksiyondur, sen parens gerekir böylece.() –

+0

Teşekkürler Kyle, hız ile ilgili bir ihmal oldu. Sadece düzeltildi, – karim79

+1

': input ', select dahil olmak üzere her türlü giriş elemanı ile eşleşiyor, bu yüzden onu eklemek yararlı olacağını düşündüm. Tabii ki, metin girişleri giriş [type = text] 'olarak seçilebilir, ancak – karim79

5

Bu yorum veya bağlantının bir sınıf ile tüm öğeleri seçer, ve değerini uyarır.

$(".comment, .link").each(function() { 
    alert($(this).val()); 
}); 

Alternatif olarak, giriş tipine seçebilirsiniz:

$("input[type='text']").each(function() { 
    alert($(this).val()); 
}); 
+0

Nitpick'e değil, 'input' ile '[type = text]' öznitelik filtresi, 'input [type = text]' arasındaki alanı kaybetmeniz gerekir. – karim79

+1

Sabit. Güzel göz. –

0

deneyin:

$(":input.comment, :input.link", "div.group").each(function() { 
    alert($(this).val()); 
}); 
0

şu sözdizimi (diğer cevaplara işlevsel olarak eşdeğer olsa) bana nettir :

var elementList = $(":input.comment, :input.link"); 
$.each(elementList, function(i, input){ 
    alert($(input).val()); 
}); 
1

Soruya cevap vermek.

Yük için ilk satır: Her döngü kullanılarak döngü yapmamız gerekiyor. im ayrıştırmak çalışıyorum, bu durumda (iş mantığı olacak - bu boş Dördüncü çizgi değil sağlanması - sadece bu Üçüncü hat ile değiştirin - İkinci Hat metin alanları döngü için, sen döngü farklı bir giriş türüne ihtiyacınız varsayalım . giriş metin alanı)

bu keman bakınız: http://jsfiddle.net/5FVtR/86/

$(document).ready(function() { 
    $(":text").each(function() { 
     if($(this).val() !='') { 
      $(this).val()=parseFloat($(this).val()).toFixed(2) 
      return false; 
     } 
    }); 
İlgili konular