Django模板从请求或“刷新”单选按钮获取自定义属性

时间:2011-09-27 18:09:27

标签: django django-templates radio-button django-views html-form

我目前有一个包含html表单的模板,其中包含以下行:

{% for r in q1.responseoption_set.all %}
     <span class="r"><input type="{{ q1.answer_type }}" name="r{{ r.id }}" id="r{{ forloop.counter }}"/>
     <label {% if q1.answer_type == "text" %}class="textanswer"{% endif %}for="r{{ forloop.counter }}">{{ r.text }}</label></span><br>
{% endfor %}

问题是,因为它们并不都具有相同的名称(这就是原因,对吧?),如果我选择一个单选按钮,然后切换到另一个,第一个仍显示为已选中。

然而,目前,我需要他们所有人都有不同的名字,因为我需要能够在我的视图中找出选择,据我所知,我可以从请求中得到的只是[姓名,价值],例如[r200,“on”]

我能想到的唯一解决方法是插入一个脚本,为每个按钮分配一个检查事件,然后,一旦选中,就会插入一个名为“我想要”的隐藏输入,但这看起来很麻烦。

那么,有没有办法让我: 从请求中获取按钮ID或按原样按“刷新”按钮。

1 个答案:

答案 0 :(得分:1)

保持名称相同,并将每个输入选项的值设置为答案ID。

{% for r in q1.responseoption_set.all %}
     <span class="r"><input type="{{ q1.answer_type }}" name="{% questionId %}" value="r{{ r.id }}" id="r{{ forloop.counter }}"/>
     <label {% if q1.answer_type == "text" %}class="textanswer"{% endif %}for="r{{ forloop.counter }}">{{ r.text }}</label></span><br>
{% endfor %}