gpt4 book ai didi

jquery - 使用 JQuery 和 AJAX 刷新 div 以在 Django 中显示新评级

转载 作者:太空宇宙 更新时间:2023-11-04 15:15:16 24 4
gpt4 key购买 nike

我是 django 的新手,找不到只刷新 div 的方法,而 div 显示我当前的星级评分。我的想法是,用户可以通过点击星标来查看平均评分和评分,点击后我希望星标显示新的平均评分而不刷新整个页面。

这是div:

<div id="rating">
<div class="movierating" id="o_{{ object.id }}">
<span style="display:none;">{{ object.rating_vote.get_rating }}</span>
{{ object.rating_vote.get_rating }}
</div>
</div>

而 javascript 是:

  <script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('.movierating').each(function(index){
$(this).raty({
readOnly: false,
path: "{{ STATIC_URL }}images/",
start: $(this).children("span:first").text(),
click: function(score, evt) {
var vote_url = "/rate/" + this.attr('id').substring(2) + "/" + score + "/";
var div = this.attr('id');
$.ajax({
url: vote_url,
success: function(){
alert('Vote successful!);
$('#rating').load('#rating');
},
});
}
});
});
});
</script>

用这段代码

$('#rating').load('#rating');

我把整个页面放到div里,当我用的时候

$('#rating').load('#rating');

没有星星,我只得到值(value)。

最佳答案

首先,复制<div id="rating"></div>里面的代码并将其保存到另一个文件。比方说,

rating.html

 <div class="movierating" id="o_{{ object.id }}">
<span style="display:none;">{{ object.rating_vote.get_rating }}</span>
{{ object.rating_vote.get_rating }}
</div>

现在在您的页面中,它将是,

你的.html

............
<div id="rating">
{% include 'rating.html' %}
</div>
............

然后,创建new viewnew url对于 rating.html

urls.py

url(r'^rating/$', 'rating', name='rating'),

views.py

def rating(request):
//rating object here

return render(request, 'rating.html', {
//call rating object variable here
})

最后,在你的 ajax 中

.........
$.ajax({
url: vote_url,
success: function(){
alert('Vote successful!);
$("#rating").load("/app_name/rating/");
},
});
...........

关于jquery - 使用 JQuery 和 AJAX 刷新 div 以在 Django 中显示新评级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15928466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com