我正在建立一個網站,我在其中使用標籤顯示不同的聊天。每個標籤我有一個動態創建的textarea,用戶可以在其中鍵入他的消息並點擊發送按鈕。當我打開第一個標籤時,插入文本並點擊發送按鈕可以正常工作。但是,當我打開第二個選項卡時,似乎無法再加載textarea中的文本。如何獲取第二個創建的textarea的值?
功能與創建新的標籤是這樣的:
function addTab(user_id, name) {
$('#pageTab').append(
$('<li><a href="#' + user_id + '">' + user_id + name +
'<button class="close" type="button">×</button></a></li>'));
$('#pageTabContent').append($('<div class="tab-pane" id="' + user_id
+'"><form id="send_message_form"><textarea id="messageText" rows="3" cols="35"></textarea></br>'
+ '<input type="button" id="sendButton" value="Send Message"></form>'
+ '<div class="conversation"></div></div>'));
$('#page' + user_id).tab('show');
}
,並用下面的代碼我嘗試讀取textarea的價值。
$(".response_wrapper").on("click", "#sendButton", function() {
var text = $("#messageText").val(); // Get the text
alert("thetext: " + text);
});
有誰知道爲什麼它可以在第二個中首先創建的選項卡獲得textarea的價值,但不是?最重要的是我該如何解決這個問題?
歡迎任何提示!
你調試過'$(「#messageText」)'的值嗎?如果該元素被插入到DOM中,然後該選擇器運行,它應該可以工作。 – helion3
元素ID應該是唯一的。如果您沒有唯一的ID,嘗試將ID用作選擇器時會看到很多問題。 – Bic
@Bic是對的,它只會讀取一個ID如果有倍數。給他們相同的班級,並通過班級指數來獲得他們。 – VIDesignz