2017-10-17 38 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