Django非Forms模式下循环单选按钮全局单选问题求助
问题解答
没有办法绕过修改name属性来实现每个学生独立选择出勤类型——这是HTML单选按钮的原生机制:相同name值的单选按钮会被划分为同一组,同一组内仅能选中一个选项。你当前所有单选按钮的name都设为attendancetype,所以整个页面的单选按钮都属于同一组,自然只能选一个。
正确的做法是给每个学生的单选按钮组设置独立的name,比如结合学生的唯一标识(比如ID)来生成name值,同时修正id避免重复(否则标签和单选按钮的关联会出错),修改后的模板代码如下:
{% for student in list_of_students %} <tr> <td>{{ student }}</td> <td> {% for attendanceType in list_of_attendanceTypes %} <input type="radio" name="attendancetype_{{ student.id }}" id="att_{{ student.id }}_{{ attendanceType.attendancetypeid }}" value="{{ attendanceType.attendancetypeid }}"> <label for="att_{{ student.id }}_{{ attendanceType.attendancetypeid }}"> {{ attendanceType }}</label><br> {% endfor %} </td> </tr> {% endfor %}
这样每个学生对应的单选按钮组name为attendancetype_学生ID,彼此独立分组,就能实现每个学生单独选择出勤类型的需求。
内容的提问来源于stack exchange,提问作者C Regnew
相关产品推荐
相关产品推荐

