Чекбокс Django хочу отметить только первый ящик - PullRequest
1 голос
/ 01 февраля 2011

еще один флажок вопрос. У меня есть предметы в списке. Каждый элемент имеет флажок. То, что я хочу сделать, это установить флажок FIRST в списке. Правильно знаете, он поставил галочки у всех флажков из-за checked="checked".

{% for item in items %}
            <tr class="items_table_row">
                    <td><input type="checkbox" name="{{item.pk}}" value="{{item.pk}}" checked="checked"></td>
                    <td>{{item.tiptop_id}}</td><td>{{item.alternative_id}}</td><td>{{item.title}}</td><td>{{item.type}}</td><td>{{item.format}}</td>
                    <td><span id="{{item.pk}}" name="type">{{item.itemstatushistory_set.latest}}</span></td><td>{{item.itemstatushistory_set.latest.date.date|date:"d M Y"}}</td>
                    <td><a href="{% url tiptop.views.edit_item item.client.pk item.pk %}" onclick="return showAddAnotherPopup(this);">Edit</a></td>
            </tr>
    {% endfor %}

Ответы [ 2 ]

1 голос
/ 01 февраля 2011

Вы можете добавить проверенное свойство ко второму элементу следующим образом:

{% ifequal forloop.counter 2 %} checked="checked"{% endifequal %}

По умолчанию forloop.counter имеет индекс 1, или вы можете использовать счетчик с 0 индексами:

forloop.counter0
1 голос
/ 01 февраля 2011

Переменная forloop , установленная тегом Django {% for %}, является вашим другом здесь.

Введите это:

{% if forloop.first %} checked="checked"{% endif %}

т.е.

{% for item in items %}
     <tr class="items_table_row">
        <td><input type="checkbox" name="{{item.pk}}" value="{{item.pk}}"{% if forloop.first %} checked="checked"{% endif %}></td>
        <td>{{item.tiptop_id}}</td><td>{{item.alternative_id}}</td><td>{{item.title}}</td><td>{{item.type}}</td><td>{{item.format}}</td>
        <td><span id="{{item.pk}}" name="type">{{item.itemstatushistory_set.latest}}</span></td><td>{{item.itemstatushistory_set.latest.date.date|date:"d M Y"}}</td>
        <td><a href="{% url tiptop.views.edit_item item.client.pk item.pk %}" onclick="return showAddAnotherPopup(this);">Edit</a></td>
    </tr>
{% endfor %}
...