我正在使用此处的示例:http://stackoverflow.com/questions/27218680/how-can-i-reload-just-one-div-on-click。 我认为我的示例中缺少某些内容,或者由于使用MPTT而不是标准菜单而导致值未传递。
这是我在base.html中找到的菜单加载方式:
{% recursetree nodes %}
<a href="#" id="{{ node.id }}"> {{ node.name }}</a>
{% endrecursetree %}
这是其中的javascript:
<script>
$(document).on('click','.node',function(e) {
id = $(this).attr("id");
$.ajax({
type: "GET",
url: '/gui/details/' + id,
success: function (result) {
$('.details').html(result);
},
});
});
</script>
然后我尝试使用此 id 在此处重新加载模板:
<div class="details">
{% include 'gui/details.html' %}
</div>
这是用于生成详细信息的视图:
def display_details(request, list_id):
qs_details = Details.objects.filter(owner=request.user, list=list_id)
return render(request, 'gui/details.html', {'qs_details': qs_details,})
当我单击列表中的任何内容时,它什么反应也没有。