转换表格单元格以使用django形成输入文本

时间:2014-10-28 16:36:28

标签: javascript django django-forms django-tables2

我有一个用django-tables2渲染的html表,我需要从三个列中获取值并将其作为参数传递给另一个模板。

{% block table %}
 <table id="myTable" class="table table-striped table-hovered table-bordered table-condensed"{% if table.attrs %} {{ table.attrs.as_html }}{% endif %}>
    {% block table.thead %}
    <thead>
        <tr>
        {% for column in table.columns %}
            {% if column.orderable %}
            <th {{ column.attrs.th.as_html }}><a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}">{{ column.header }}</a></th>
            {% else %}
            <th {{ column.attrs.th.as_html }}>{{ column.header }}</th>
            {% endif %}
        {% endfor %}
        </tr>
    </thead>
    {% endblock table.thead %}
    {% block table.tbody %}
    <tbody>
        {% for row in table.page.object_list|default:table.rows %} {# support pagination #}
        {% block table.tbody.row %}
        <tr class="{% cycle 'odd' 'even' %}">
            {% for column, cell in row.items %}
                <td {{ column.attrs.td.as_html }}>{{ cell }}</td>
            {% endfor %}
        </tr>
        {% endblock table.tbody.row %}

        {% endfor %}
    </tbody>
    {% endblock table.tbody %}
    {% block table.tfoot %}
    <tfoot></tfoot>
    {% endblock table.tfoot %}
 </table>
 {% if table.page %}
 {% block pagination %}
   {% bootstrap_pagination table.page %}
 {% endblock pagination %}
{% endif %}
{% endblock table %}

我需要从三个第一列中获取值并将其作为参数传递。 在第四列中,我有一个插入了javascript函数的下拉按钮,我可以使用JS函数插入输入文本,但我不知道如何将单元格的值传递给输入单元格。 如果改变这一行

<td {{ column.attrs.td.as_html }}>{{ cell }}</td>
像这样

<td {{ column.attrs.td.as_html }}><input type="text" value="{{ cell }}"</td>

正常工作,但所有单元格都转换为输入文本,我只需转换前三列

1 个答案:

答案 0 :(得分:0)

你可以尝试这样:

{% for row in table.page.object_list|default:table.rows %}
        {% block table.tbody.row %}
        <tr class="{% cycle 'odd' 'even' %}">
            {% for column, cell in row.items %}
                {% if forloop.counter < 4 %}
                   <td {{ column.attrs.td.as_html }}><input type="text" value="{{ cell }}"</td>

                {% else %}

                   <td {{ column.attrs.td.as_html }}>{{ cell }}</td>

                {% endif %}

            {% endfor %}
        </tr>
        {% endblock table.tbody.row %}

        {% endfor %}