Javascript - 使用jquery获取多个textarea值

时间:2012-10-08 09:43:02

标签: php javascript jquery

我是jQuery的新手。我想从这两个textarea获得价值, 我有这样的html和下面的jquery:

Html:

<pre>
<a id="send-thoughts" href="">Click</a>
<textarea id="message1" class="message">Hello</textarea>
<textarea id="message2" class="message">World</textarea>
</pre>

jQuery的:

jQuery("a#send-thoughts").click(function() {
                var thought= jQuery("textarea.message").val();
                alert(thought);
 });​

为什么只显示一个值?以及如何获得textarea的两个值?

http://jsfiddle.net/guruhkharisma/9zp9H/

5 个答案:

答案 0 :(得分:2)

var text = "";

jQuery("textarea.message").each(function(){
   text += jQuery(this).val() + "\n";
})

答案 1 :(得分:1)

试试thought = $('textarea').text() 我认为这应该有效 或thought = $('.message').text();

答案 2 :(得分:1)

使用each()方法。

jQuery("a#send-thoughts").click(function() {
    jQuery("textarea.message").each(function() {
        var thought= $(this).val();
        alert(thought);
    });
 });​

查看在线文档以获取更多信息:http://api.jquery.com/each/

答案 3 :(得分:0)

<pre>
<a id="send-thoughts" href="">Click</a>
<textarea id="message1" class="message1">Hello</textarea>
<textarea id="message2" class="message2">World</textarea>
</pre>

jQuery:

jQuery("a#send-thoughts").click(function() {
                var thought1= jQuery("textarea.message1").val();
                alert(thought1);
                var thought2= jQuery("textarea.message2").val();
                alert(thought2);
 });​

答案 4 :(得分:0)

与所有jQuery getter一样,

.val()返回第一个匹配的form-input元素的值。您将不得不使用.each()循环并连接值:

jQuery("a#send-thoughts").click(function() {
    var thought = '';
    jQuery("textarea.message").each(function() {
        thought += $(this).val() + ' ';
    });
    alert(thought);
});​