如何在Django模板中管理复选框

时间:2019-04-21 02:45:59

标签: django templates

此代码正在检查所有课程。如果我仅取消选中一项,则它不会执行任何操作。我只想检查选中的项目。我该怎么办

  

html模板

    <div class="form-group">
               <h5>Courses <span class="text-danger">*</span></h5>
               <div class="controls">
                 {% for course in courses %}
                 <input name ="courses" type="checkbox" id="{{course.title}}" required value="{{course.title}}"
                {% if course.title %}checked="checked" {% endif %}>
                 <label for="{{course.title}}">{{course.title}}</label>
                 {% endfor %}
               </div>
             </div>

1 个答案:

答案 0 :(得分:0)

因为您写了{% if course.title %}checked="checked" {% endif %},所以您的所有框都被选中。这段代码意味着,如果一门课程有一个标题(我假设它们都一样),则会对其进行检查。最好不要包含此if条件(假设您不需要预先选中任何复选框),并且最好使用title以外的唯一标识符(两个课程可能共享)。

<div class="form-group">
   <h5>Courses <span class="text-danger">*</span></h5>
   <div class="controls">
     {% for course in courses %}
         <input name="courses" type="checkbox" id="course-{{course.id}}" value="{{course.title}}" required>
         <label for="course-{{course.id}}">{{course.title}}</label>
     {% endfor %}
   </div>
 </div>