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