Javascript Jquery在多个div之后插入
我有一个ajax评论系统,当表单提交时,它会在表单下方显示提交的评论。我在页面的不同位置有两个相同的表单,但只有最上面的表单被重置,并且在下面插入了注释。如何让它在所有表单实例之后插入Javascript Jquery在多个div之后插入,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax评论系统,当表单提交时,它会在表单下方显示提交的评论。我在页面的不同位置有两个相同的表单,但只有最上面的表单被重置,并且在下面插入了注释。如何让它在所有表单实例之后插入 $(".reply").keypress(function(event){ var keycode = (event.keyCode ? event.keyCode : event.which); if(keycode == '13'){ var that = this; //enter p
$(".reply").keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
var that = this;
//enter pressed
$.ajax({
type: 'post',
url: '/private/poll/reply',
data: $(this).serialize(),
success: function (data) {
var parent = $(that).find('input[name=parent]').val();
// $("#comment_"+parent).append(data);
$(data).insertAfter("#comment_"+parent);
document.getElementById("form_"+parent).reset();
}
});
}
});
我的假设是您有两个使用相同ID的输入。ID在页面上必须是唯一的。例如,页面上不能有两次
#comment_parent
您的代码所做的是查找#comment_parent
的第一个实例并使用它。脚本将忽略其余部分,因为不应该有多个#comment\u parent
解决方案是什么?使用类似于#comment\u top\u parent
和#form\u top\u parent
的内容为顶部和底部表单指定唯一的ID
然后在脚本中,更新该部分以包含该更改:
$(data).insertAfter("#comment_top"+parent);
document.getElementById("form_top"+parent).reset();
$(data).insertAfter("#comment_bottom"+parent);
document.getElementById("form_bottom"+parent).reset();
我根据您的代码做了一个假设,但是您通过隐藏字段(即父字段)存储了DOM的附加层次结构?DOM是一种树状结构,您可以通过.parent()轻松完成此操作,而无需隐藏字段。附加一些HTML会很有帮助。