我想添加投票按钮到我的博客评论。我通过这样的每条评论循环:如何获得父类的最接近的表单元素。 jQuery
.row
for comment in Comments
.row
p #{comment}
.votecell(style='width:30px;float:left;margin-left: 15px;')
.voteUp(id='#{comment.id}', style='margin-bottom: -17px;') ▲
form.form-horizontal(id='voteUp', enctype="multipart/form-data", method='POST')
input(type='hidden', name='_csrf', value=_csrf)
input(type='hidden', name='commentID', value='#{comment.id}')
<br>
然后使用jQuery我试图提交的被点击的按钮的孩子形式。
$(".voteUp").click(function() {
var form = $(this).closest(".form-horizontal")
$(function(){
$.ajax({
url: '/voteUp', //the URL to your node.js server that has data
type: 'POST',
data: form.serialize()
}).done(function(data){
});
});
});
问题是它总是从页面上的第一条评论提交表单,无论点击了哪个voteUp按钮。我知道这是因为在jQuery $(this)== this [0]中,但我不确定还有哪些其他选项可用于引用点击的对象。任何人都知道我可以如何抓住点击按钮的孩子形式?
下面是HTML输出的样子:
<div id="5463ce6bd6e5e5d403e80b3f" style="margin-bottom: -17px;" class="voteUp">
▲
<form enctype="multipart/form-data" method="POST" class="form-horizontal">
<input type="hidden" name="_csrf" value="4JbLbnEcRvq7ZuAhpZCXavMq7JW/vnIZlxW/o=">
<input type="hidden" name="commentID" value="5463ce6bd6e5e5d403e80b3f">
</form>
</div>
那是什么奇怪的符号? – Pointy
如果您发布HTML – Huangism
的生成块,请显示示例输出html而不是服务器代码,这将会很有帮助。它似乎没有'voteUp'在表格内以 – charlietfl