虽然我通过现有线程搜索了我的问题但我还没有找到解决方案。我有一个显示报告的页面。它的HTML看起来像这样:
<div class="reports-body" report-id="4">
<!--Some HTML-->
<div class="comments-title">
<h3>3 Comments</h3>
</div>
<div class="comments">
<!--The Comments-->
</div>
</div>
<div class="reports-body" report-id="5">
<!--Some HTML-->
<div class="comments-title">
<h3>3 Comments</h3>
</div>
<div class="comments">
<!--The Comments-->
</div>
</div>
<div class="reports-body" report-id="6">
<!--Some HTML-->
<div class="comments-title">
<h3>3 Comments</h3>
</div>
<div class="comments">
<!--The Comments-->
</div>
</div>
etc...
每个reports-body
都有一个评论框,用户可以在其中为此特定报告撰写评论。现在我想在用户提交评论后每次重新加载reports-body
。我想重新加载整个 reports-body 的原因是, comments-title 中的数字也需要刷新,因为数字会增加。
Unfortunatley我的代码并没有真正起作用.~~我的技能不足以看到问题,这就是我向你寻求帮助的原因。这是jquery代码:
// defined earlier
var parent = $(this).closest('form')
// ...
$.ajax({
type: 'post',
dataType: 'json',
url: webroot + 'reports_comments/add',
data: data,
beforeSend: function(XMLHttpRequest) {
ajaxloader.show();
},
success: function(data) {
if(data.status == 'success') {
var server = data.server;
var id = data.id;
var summoner = data.summoner;
var url = webroot + '/summoner/' + server + '/' + id + '-' + summoner;
var rb = parent.parents('.reports-body');
rb.load(url + ' .reports-body[report-id=' + rb.attr("report-id"));
} else {
parent.find('#ReportsCommentContent').css("border", "2px solid #BB1A11");
}
},
error: function(request) {
alert("Request Error.");
},
complete: function() {
ajaxloader.hide();
}
});
提交评论后,reports-body
消失而不是重新加载。我希望你能帮助我。
答案 0 :(得分:1)
您忘记了被叫网址中的括号。
rb.load(url + ' .reports-body[report-id=' + rb.attr("report-id"));
rb.load(url + ' .reports-body[report-id=' + rb.attr("report-id")+']');