我試圖做一個網站,我可以回覆一些消息時,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