2017-10-17 40 views
0

我已動態填充一個文本,如何獲得動態填充輸入AJAX的價值

<textarea class="materialize-textarea validate addCommentTxt" 
value="" data-length="250" required name="addCommentTxt"></textarea> 

我的問題是,每當我試圖讓在阿賈克斯textarea的值,使用此代碼:

$('.btnCommentSubmit').click(function(e){ 
    e.preventDefault(); 
    var comment_identifier = $(this).data("value"); 
    var comment_by = $(this).data("id"); 
    $('#formAddComment').attr('action', '<?php echo base_url() ?>Discussion/addComment/'); 
    var url = $('#formAddComment').attr('action'); 
    var addCommentTxt = $('.addCommentTxt').val(); //GET THE VALUE OF TEXT AREA 
    $.ajax({ 
     type: 'post', 
     url: url, 
     data: { 
      addCommentTxt:addCommentTxt, 
      comment_identifier:comment_identifier, 
      comment_by:comment_by, 
     }, 
     success: function(){ 
      alert("scs"); 
      showAllComments(comment_identifier); 
     }, 
     error: function(){ 
      console.log(data); 
      alert('Could not add data'); 
     } 
    }); 

}); 

,我得到的是從第一填充textarea的,不是從我送我的數據textarea的價值。

例如: Textarea 1 - 我發送了「第一個字符串」註釋並且它已被成功插入。

文本2 - 我已經發出了「第二個字符串」發表評論,但插入的數據將是「第一個字符串」,這是從textarea的1不是在文本2

+0

那麼什麼會我用它來獲得輸入的值?我已經嘗試過使用類。 –

+0

你能否提供你的html的其餘部分? – madalinivascu

+0

你需要獲得'addCommentTxt'相對於你的'btnCommentSubmit'' – madalinivascu

回答

0

你需要讓addCommentTxt相對於您btnCommentSubmit所以用最接近,讓您的父窗體,然後用找得到textarea的價值

var addCommentTxt = $(this).closest('form').find('.addCommentTxt').val(); 
+0

它不起作用,反正這裏是整行,incase你想要它 https://jsfiddle.net/aLdu2mce/ –

+0

我試過使用警告顯示值並返回undefined。 –

+0

適合我https://jsfiddle.net/aLdu2mce/3/,你有什麼錯誤在控制檯? – madalinivascu