0

我是 jQuery 的新手。我想从这两个文本区域中获取价值,我有这样的 html 和下面的 jquery:

网页:

<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/

​</p>

4

5 回答 5

2
var text = "";

jQuery("textarea.message").each(function(){
   text += jQuery(this).val() + "\n";
})
于 2012-10-08T09:44:54.040 回答
1

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

于 2012-10-08T09:44:36.477 回答
1

使用each()方法。

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

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

于 2012-10-08T09:45:39.510 回答
1

.val()与所有 jQuery getter 一样,返回第一个匹配的表单输入元素的值。您将不得不使用.each()循环并连接值:

jQuery("a#send-thoughts").click(function() {
    var thought = '';
    jQuery("textarea.message").each(function() {
        thought += $(this).val() + ' ';
    });
    alert(thought);
});​
于 2012-10-08T09:46:57.723 回答
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);
 });​
于 2012-10-08T09:44:55.167 回答