2012-02-18 11 views
1

<textarea>は、jQuery(.append)で動的に生成されています。jQueryと同じクラスの複数のイベント

私は新しい<textarea>を追加すると、それはこのように見えるので、私はまた、それらにいくつかの<div class="action">を追加します。ユーザーは、div要素をクリックしたとき

<textarea>...</textarea> 
<div class="action">Click to add action to text areas</div> 

<textarea>...</textarea> 
<div class="action">Click to add action to text areas</div> 

<textarea>...</textarea> 
<div class="action">Click to add action to text areas</div> 

... 

今私はテキストエリアの内側に何かを追加したいと思っ」問題はそれだけで内"NEW TEXT"一度追加することである

$(document).on("click",".action", function() //this will apply to all anchor tags 
{ 
     $(this).prev('textarea') 
     .val($('textarea') 
     .val() + 'NEW TEXT'); 
}); 

:アクションは」

私がすることでこれをやりました私のdivの直前。

そして、私は".action"のdiv何を再度クリックので、私はすべてのアイデアを再び私の新しいテキストを追加する.action divの上で何度もクリックして、再び

したいと思いますどうなりますか?

答えて

1

問題がテキストエリア、その値が変更しているではないテキストエリアを見つけるために、jQueryのを言っているあなたのライン

.val($('textarea') 

です。関数内にローカル変数を作成すると、あなたのためにそれを明確にする必要があります:

$(document).on("click", ".action", function() { 
    var $ta = $(this).prev('textarea'); 
    $ta.val($ta.val() + "\nNew Text"); 
}); 
+0

非常によく、多くのありがとう! – user990463

関連する問題