2012-01-31 21 views
8

अपडेट नहीं करता jQuery के साथ, मैं एक पाठ क्षेत्रपाठ क्षेत्र

$('#description').append('<textarea rows="8" cols="40">test</textarea>'); 

ठीक है जोड़ा, और मैं "परीक्षण" पाठ करने के लिए "परीक्षण 01" में बदलें। लेकिन, जब मैं

var cadena = $('#description').text(); 
alert(cadena); 

मुझे "परीक्षण" मिलता है और "परीक्षण 01" नहीं मिलता है। क्यूं कर?

$('#description').append('<textarea id="newTextArea" rows="8" cols="40">test</textarea>');¬ 

और फिर इस:

var cadena = $('#newTextArea').text(); 
alert(cadena); 

अन्यथा, आप बस textarea की जो कुछ भी #description है अंदर जोड़ रहे हैं, और फिर

+2

# डिस्क्रिप्शन क्या है? –

+0

आपने 'textarea' के पाठ को कैसे बदल दिया? कोड कहां है? – ShankarSangoli

उत्तर

8

एक आईडी दे textarea और फिर बदल यह val समारोह के साथ मूल्य है:

$('#description').append('<textarea id="xxx" rows="8" cols="40">test</textarea>');  
$('#xxx').val('test01'); 

//... later on 
alert($('#xxx').val()); 
+0

बिल्कुल सही, मैं $ ("# myTextArea") का उपयोग कर रहा था। Html (''); और मैं $ ("# textoObs") का उपयोग कर सकता हूं। वैल (''); और काम करता है! –

3

यह वास्तव में की तरह यदि आप ऐसा करना चाहते हो जाएगा लग रहा है .text मूल्य प्राप्त करने की कोशिश कर रहा है ... वह सब (जो कुछ भी है)।

यदि आप idtextarea पर जोड़ते हैं, तो आप अपने चयन के साथ और अधिक विशिष्ट हो सकते हैं, और टेक्स्ट टेक्स्ट प्राप्त कर सकते हैं जिसे आप ढूंढ रहे हैं।

8

की तरह यह .text() doco page पर कहते हैं, "सेट या इनपुट या पाठ क्षेत्र तत्वों का पाठ मान पाने के लिए, .val() का उपयोग तरीका।"

आप कहते हैं कि नहीं आप पाठ कैसे बदल सकते हैं, लेकिन आप यह कर किया जाना चाहिए: यह देखते हुए कि "#description" पाठ क्षेत्र के कंटेनर है

$('#description textarea').val("test 01");  // change the text 

var cadena = $('#description textarea').val(); // retrieve the current text 

, और आप पाठ क्षेत्र में ही चयन करने के लिए प्राप्त करने की आवश्यकता महत्व। निस्संदेह उपरोक्त काम नहीं करेगा यदि आपके पास उस कंटेनर में एक से अधिक टेक्स्टरेरा हैं, तो बेहतर होगा यदि आप नए टेक्स्टरे को एक आईडी निर्दिष्ट कर सकते हैं तो उस पर आधारित चयन करें।

+0

'# विवरण' 'textarea' नहीं है यह कुछ ऐसा है जो इसे रखता है। – gdoron

+0

धन्यवाद @gdoron, हाँ, मैंने देखा होगा और जब आप टिप्पणी पोस्ट कर रहे थे तो मेरा जवाब संपादित कर रहा था। – nnnnnn

3

उपयोगकर्ता .val().text() के बजाय उपयोगकर्ता।

यदि आपके पास केवल एक पाठ क्षेत्र संलग्न आप कर सकते हैं

var cadena = $('#description textarea:first-child').val(); 

टेस्ट मामला: http://jsfiddle.net/UzK59/

या

आप जोड़कर रहे हैं, तो एक से अधिक पाठ क्षेत्र

var counter = 0; 
$('#description').append('<textarea id="textArea'+ counter +'" rows="8" cols="40">test</textarea>'); 
counter++; 

और फिर

$('#textArea' + counter).val(); //Considering counter is 0 (Zero) here 

टेस्ट मामला: http://jsfiddle.net/UzK59/1/

मान सेट करने के लिए आप

$('#textArea' + counter).val('New Value') 

आशा इस मदद करता है कर सकते हैं।

संबंधित मुद्दे