代码之家  ›  专栏  ›  技术社区  ›  Denise

根据选中的复选框值显示内容

  •  0
  • Denise  · 技术社区  · 6 年前

    我正在尝试根据选中的复选框值检索信息。现在,我已经根据选中的复选框相应地显示了内容。但是,它仅适用于一个选中的复选框。如果我选中多个复选框,它将返回最后选中的复选框。

    我知道我必须使用request.POST.getlist('name')来传递多个复选框值。当我这样做时,它什么也不显示。

    我想展示在选定的一周内参加过课程的学生的姓名。

    下面是我的示例代码:

        def filterWeek(request):
    
    
            qs = MarkAtt.objects.all()
    
            week_checked = request.GET.get('week_check')
    
            if week_checked:
                # week_mchecked = request.POST.getlist('week_check') #not working, display nothing
    #qs = qs.filter(week_in=week_mchecked)
                qs = qs.filter(week=week_checked)
    
            context={
            'queryset' : qs
            }
            return render(request, "filter.html", context)
    

           <form method="GET" action=".">
    
    
     <input type="checkbox" id="week_check" name="week_check" value="1"/> Week 1
    
     <input type="checkbox" id="week_check" name="week_check" value="2"/> Week 2
    
    <input type="checkbox" id="week_check" name="week_check" value="3"/> Week 3
    
    </form>
    

    希望你们中的任何人都能帮助我。非常感谢。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Denise    6 年前

    我刚刚试图改变这一点:

      week_mchecked = request.POST.getlist('week_check') 
    

    week_mchecked = request.GET.getlist('week_check')
    

    它正在发挥作用。显然,我刚刚意识到我的表单方法是GET而不是POST。