Selector in Jquery
Mục đich của bài question này là tại e đang làm hệ thống comment sử dụng Ajax
.
<form action="{{ URL::route('reply.create', [$comment->id, $curPost->id]) }}" method="POST" class="form-comment">
<textarea name="reply-comment" id="content-comment" class="form-control"
<div class="form-group clearfix">
<button class="btn btn-primary pull-right" id="content-comment-reply" type="submit">Post Reply</button>
</div>
</form>
<!-- End form 1 -->
<form action="{{ URL::route('reply.create', [$comment->id, $curPost->id]) }}" method="POST" class="form-comment">
<textarea name="reply-comment" id="content-comment" class="form-control"
<div class="form-group clearfix">
<button class="btn btn-primary pull-right" id="content-comment-reply" type="submit">Post Reply</button>
</div>
</form>
<!-- End form 2 -->
<form action="{{ URL::route('reply.create', [$comment->id, $curPost->id]) }}" method="POST" class="form-comment">
<textarea name="reply-comment" id="content-comment" class="form-control"
<div class="form-group clearfix">
<button class="btn btn-primary pull-right" id="content-comment-reply" type="submit">Post Reply</button>
</div>
</form>
<!-- End form 3 -->
etc form... etc forms....
Em có 3 ví dụ ạ, còn có thể có rất nhiều form khác nữa... nhưng nội dung tương tự như thế ạ..
Vậy Giờ e selector kiểu sao để khi e nhấn vào button {Post Reply}
thì nó sẽ lấy ra được giá trị của textarea đang query ạ...
Thực ra mục tiêu của e không phải là lấy giá trị, mà là dùng nó để gửi request Ajax
ạ, và đang bị vướng ở phần này ạ..
Ai có thể cho e biết được kg ạ...
Em cám ơn.
2 CÂU TRẢ LỜI
Quy tắc là bạn phải đi từ gốc của element được click.
$(function() {
$('button').click(function() {
var textArea = $(this).parents('form').find('textarea[name=reply-comment]').val();
console.log(textArea);
});
});
Em đã làm được theo cách của anh ạ.. Em cám ơn.
Giải pháp làm nhiều form như thế kia có vẻ không ổn vì phải trả lại nhiều html dư thừa. Tuy nhiên nếu đang làm cách trên thì mình nghĩ bạn có thể sử dụng event onsubmit
của form
tag thay vì bắt sự kiện click button.
<form method="POST" class="form-comment" onsubmit="alert(1)">
<textarea></textarea>
<div class="form-group clearfix">
<button type="submit">Post Reply</button>
</div>
</form>