如何在模板中检查ModelMultipleChoiceField中的复选框

时间:2014-10-20 11:00:24

标签: python django django-templates

{% for choice in form.options.field.choices %}
    <div class="te">
        <label class="te">{{ choice.1 }}</label>
        <label class="te"><input type="radio" data-type="{{ text }}" name="val_{{ forloop.counter }}" value="{{ choice.0 }}" class="options" /></label>
        <label class="te"><input type="radio" data-type="{{ text }}" name="val_{{ forloop.counter }}" value="0" class="options"/></label>
    </div>
    <input class="hidden" type="checkbox" name="options" value="{{ choice.0 }}" id="val_{{ forloop.counter }}" />
{% endfor %}

以上代码显示标签和单选按钮,但如何查看循环中选中的复选框

当我使用此{{ form.options }}时,它会显示正确选中的复选框和未选中的复选框。

我在循环中尝试了 choice.isChecked 但总是如此。我该如何解决这个问题。

如果我在循环中打印选项,则显示

(1L, u'test 1')
(2L, u'test 2')
(3L, u'test 3')

2 个答案:

答案 0 :(得分:3)

更好的解释是代码示例,使用if/in比较值:

被修改

感谢@Anentropic指出,我没有给予足够的重视,这是编辑过的,没有使用stringformat

{% if choice.0 in form.options.value %}selected="selected"{% endif %}

答案 1 :(得分:0)

使用is_checked 复选框,它适用于我。