gpt4 book ai didi

jquery - 我怎样才能在点击时重新加载一个div?

转载 作者:行者123 更新时间:2023-12-01 07:53:07 25 4
gpt4 key购买 nike

我使用 Django 和 Python。

好的,上下文是:

模型.py:

class Contacts(models.Model):
lastname = models.CharField(max_length=150)
firstname = models.CharField(max_length=150)

View .py

def home(request):
contacts = Contacts.objects.all()
return render(request, 'index.html', {'contacts':contacts,})



def contact(request, contact_id):
contact = Contacts.objects.get(pk=contact_id)
return render(request, 'details.html', {'contact':contact,})

index.html:

<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/style.css">
<div class="container">

<div class="contacts">
<ul class="list-contacts">
{% for contact in contacts %}
<a href="#"><li class="contact">{{contact.lastname}}</li></a>
{% endfor %}
</ul>
</div>

<div class="details">
{% include 'details.html' %}
</div>

</div>

详细信息.html:

{{contact.lastname}} {{contact.lastname}}<br>
{{contact.phone}}

当我单击列表中某个联系人的姓氏(实际上是一个链接)时,如何仅重新加载详细信息 div,而不是整个页面?我知道我必须使用 AJAX,但我不知道该怎么做。

最佳答案

这样的东西应该可以工作(未经测试):

<link rel="stylesheet" type="text/css" href="{{STATIC_URL}}css/style.css">
<div class="container">

<div class="contacts">
<ul class="list-contacts">
{% for contact in contacts %}
<a href="#"><li class="contact" id="{{contact.id}}">{{contact.lastname}}</li></a>
{% endfor %}
</ul>
</div>

<div class="details">
{% include 'details.html' %}
</div>

</div>

<script>
$(document).on('click','.contact',function(e) {
var id = $(this).attr("id");

$.ajax({
type: "GET",
url: '/path/' + id,
success: function (result) {
$('.details').html(result);
},
});
});
</script>

关于jquery - 我怎样才能在点击时重新加载一个div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27218680/

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