我试图做一个网站,我可以回复一些消息时,jQuery中生成textarea时,单击前一个“答复”按钮。然后显示一个按钮来发送消息(使用Ajax),但现在我无法获得textarea的值,即使尝试使用不同的id,因为每个消息都有一个数字。使用jquery和按钮中生成的textarea错误
$(document).ready(function() {
//Reply messages
$(".reply-btn").click(function() { //Clicking reply button on message list
var class_reply = this.className.match(/btn_(\d+)/)[1];
$(".panel-body").prepend('<div class="main-reply-msg"></div>');
$(".main-reply-msg").append('<textarea class="message_replied" id="message_replied_'+class_reply+'" rows="10" cols="300" style="max-width: 100%;"></textarea>');
$(".main-reply-msg").append('<a href="#" class="btn btn-primary reply-msg-conv" style="width:100%;" role="button">Reply</a>');
$(".main-reply-msg").append('<hr>');
$(".reply-msg-conv").click(function() { //Sending the reply
message_replied_txt = $('.message_replied').val();
console.log(message_replied_txt);
});
});
});
这是代码,我试图使它工作,第二次点击工作,但textarea.val()是空的。我也尝试在第一次之外放置第二次点击(),但是然后点击()不起作用。
任何人之前都有过这个问题,因为我已经尝试了很多东西,没有任何工作。
更新,以使其更容易理解:
- class_reply值正常工作。测试
- 此函数在onready()函数内。
功能的工作原理如下:
- 不同的消息,这 从jquery的加载(甚至HTML代码)的列表。
- 当点击一条消息时会显示完整的消息预览和一个按钮来回复。
- 当你点击按钮时加载了这个功能。
- 函数被加载(显示textarea和low按钮),但是当你点击生成的新按钮时,输入值(textarea和 输入字段)不显示任何值。
我已经尝试过在第一次单击()内部和外部并且不显示textarea值。即使我已经在'$(document).ready(function(){' – CapAm