2012-01-13 32 views
95

jQuery kullanarak ve okumak ve bir textarea içeriğini güncellemek merak Ben val kullanmalıdır if() veya metin() (veya başka bir yöntemi) am için metin() vs.val() textarea

ben hem denedim ve ben de ilgili sorunlar yaşadım. Textarea'yı güncelleştirmek için text() kullandığımda, satır sonları (\ n) çalışmaz. Textarea içeriğini almak için val() kullandığımda, metin çok uzunsa kesiliyor.

+0

Eğer html denediniz()? – Znarkus

+0

Bu, satır sonları çalışmıyor ne anlama geliyor? – kaz

+0

@Znarkus: no ... – Christophe

cevap

133

Bir textarea değerini ayarlamak/almak için en iyi yol .val(), .value yöntemidir.

.text() dahili bir <textarea> içeriğini almak için .textContent (veya .innerText IE) yöntemini kullanmaktadır. text() 'in dönüş değeri yanlış olabilir, oysa

var t = '<textarea>'; 
console.log($(t).text('test').val());    // Prints test 
console.log($(t).val('too').text('test').val()); // Prints too 
console.log($(t).val('too').text());    // Prints nothing 
console.log($(t).text('test').val('too').val()); // Prints too 

console.log($(t).text('test').val('too').text()); // Prints test 

.val() tarafından kullanılan valueözelliği, her zaman geçerli görünür değerini gösterir: Aşağıdaki test durumları text() ve .val() birbiriyle ilişkili gösteriyoruz. Özellik adında yerine kimliğe göre

+0

thx. Şu anda val() ve tikleme ile olan sorunu çoğalamıyorum. Belki de yanlış şüpheli var ... – Christophe

+5

Örnekler için bir demet teşekkürler. Görünüşe göre bu benim sorunumdu, text() ile yazdım ve val() ile okudum. – Christophe

+0

'metni kullanarak bir textarea değerinin değiştirilmesi()' el – Jan

-4

seçin <textarea>.

<textarea id="message" name="message"></textarea> 
<script> 
    jQuery("textarea[name='message']").val(); 
</script> 
+15

Bu nasıl oy herhangi kalktın (örneğin bir karakter ekleyerek) İçinde bir şey değiştirdikten sonra artık işe DEĞİLDİR? Sorulan soru ile tamamen alakasız ve kesinlikle hiçbir değer sunuyor. Ayrıca, seçicideki kimliğin çok daha verimli kullanıldığından ve aynı adla birden fazla tekstüre seçmeyeceğinden, bu aynı zamanda zayıf bir kılavuzdur. – michael

6

.val() hep textarea elemanları ile çalışır.

.text() bazen işleri ve diğer kez başarısız! Güvenilir değil (Chrome 33'te test edilmiştir)

.val() , .text() gibi diğer form öğelerinde de sorunsuz şekilde çalışıyor (input gibi).