获取附加文本区域的值

我附加一个textarea按钮

$(".mydiv").append("
my button
");

在那之后,我正在将新文本写入textarea,并试图通过点击function在textarea中获取新的writed值;

 jQuery(document).on('click','.sendReply', function () { var myNewText = $("#myTextarea").val(); console.log(myNewText); }); 

但它说这是一个“空字符串”,如果我添加一个像我的fucntion工作并给我“一些文本”,但如果我编辑textarea和点击sendReply按钮(我的点击function),它仍然给我“一些文字”,它不会改变

如何在应用textarea之后获得编辑的textarea值?

你有一个. 在附加HTML的.sendReply

你只需要删除. 来自.sendReply

使用

 
my button
"

当您使用事件委托时,您的jQuery将起作用。

当您多次添加具有相同ID的textarea时? $("#myTextarea").val()将始终显示id为myTextarea的第一个textarea的值。 您可以使用公共类,然后使用prev()来选择textarea

见例子

 $(document).ready(function() { $(document).on('click', '.sendReply', function() { var myNewText = $(this).prev(".myTextarea").val(); alert(myNewText); }); for (var i = 0; i < 5; i++) { $(".mydiv").append("
my button
"); } });
  

它应该是

 $(".mydiv").append("
my button
");

然后

 jQuery(document).on('click','.sendReply', function () { var myNewText = $("#myTextarea").val(); console.log(myNewText); }); 

不要使用点(。)作为类名..

而不是使用div ..使用一些标准来编码..你可以让它有按钮..这里是代码

 
$(".mydiv").append(""); jQuery(document).on('click','.sendReply', function () { var myNewText = $("#myTextarea").val(); console.log(myNewText); alert(myNewText); });

的jsfiddle