【发布时间】:2017-08-26 23:54:24
【问题描述】:
我想使用 3 个复选框过滤搜索结果。结果显示在 div 中,id=posts_results
<div class="checkbox">
<label><input type="checkbox" id="id1" class="typePost" value="En groupe"> val1 </label>
</div>
<div class="checkbox">
<label><input type="checkbox" id="id2" class="typePost" value="En groupe"> val2 </label>
</div>
<div class="checkbox">
<label><input type="checkbox" id="id3" class="typePost" value="A domicile"> val3</label>
</div>
<div class="checkbox">
<label><input type="checkbox" id="id4" class="typePost" value="Par webcam"> val4</label>
</div>
<div id="posts_results">
{% include 'posts/posts_results.html' %}
</div>
<script>
$('.typePost').change(function (request, response) {
var v1=$('#id1').is(":checked")? 1:0;
var V2=$('#id2').is(":checked")? 1:0;
var V3=$('#id3').is(":checked")? 1:0;
var v4=$('#id4').is(":checked")? 1:0;
$.ajax({
url: '/posts/type_lesson/',
dataType: 'json',
type: "GET",
data: {
group: groupChecked,
webcam: webcamChecked,
home: homeChecked,
move: moveChecked,
distance: distance,
},
success: function (object_list) {
$('#posts_results').load("my_page.html", object_list);
alert('after')
}
});
});
<script>
这是我的网址:
url(r'^filter/$', views.filter, name='filter_type_lesson'),
这是我的观点:
def filter(request):
if request.method=='GET':
#as an exemple I'll send all posts
data= PostFullSerializer(Post.objects.all(), many=True)
return JsonResponse(data.data, safe=False)
过滤器函数根据json发送的数据执行一些过滤器,将过滤后的帖子序列化后发回(这里我以发送所有帖子为例)。
在 id 为“posts_results”的 div 中使用 forloop 显示结果,html 位于文件 posts_results.html 中。
发送了json数据但是ajax成功函数没有更新或加载div
也可以留下来
【问题讨论】:
-
this不是load()的第一个参数应该是的网址。 -
我编辑它。我只是在测试它,但这不是问题
标签: javascript jquery html ajax django