我有一个动态填充的textarea,
<textarea class="materialize-textarea validate addCommentTxt"
value="" data-length="250" required name="addCommentTxt"></textarea>
我的问题是每当我尝试使用以下代码获取ajax中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 - 我已经发送了一个&#34;第一个String&#34;评论并已成功插入。
Textarea 2 - 我发送了第二个字符串&#34;注释,但插入的数据将是&#34; first String&#34;这是来自textarea 1而不是textarea 2
答案 0 :(得分:0)
您需要获得与addCommentTxt
相对的btnCommentSubmit
,因此请使用最接近您的父表单,然后使用find获取textarea值
var addCommentTxt = $(this).closest('form').find('.addCommentTxt').val();