0

私はjQueryの初心者です。これらの2つのテキストエリアから値を取得したいのですが、次のような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);
 });​

なぜ1つの値しか表示されないのですか?textareaの2つの値を取得する方法は?

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ゲッターと同様に、最初に一致したform-input要素の値を返します。.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 に答える