【问题标题】:Django: how to sort this tableDjango:如何对该表进行排序
【发布时间】:2016-06-08 04:50:24
【问题描述】:

我实现了下表:

<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="content-type">
  </head>
  <body>{% extends 'base.html' %}
    {% block content %}
    <title></title>
{{ form.errors }}
{{ form.non_field_errors }}

<form action="{% url "start" %}" method="post" enctype="multipart/form-data">
    {% csrf_token %}

    <div class="panel panel-default">
      <!-- Default panel contents -->
      <div class="panel-heading">my list</div>
      <div class="panel-body">
        <p>some informations</p>
      </div>
    <table class="table table-striped">
    <thead>

        <tr width="100%">
            <th align="left">1</th>
            <th align="left">2</th>
            <th align="left">3</th>
            <th align="left">4</th>
            <th align="left">5</th>
            <th align="left">6</th>
            <th align="left">7</th>
            <th align="right">8</th>
            <th align="left">9</th>
        </tr>

    </thead>
    <tbody>
    {% for Element in data %}
        <tr width="100%">
            <th align="left"><input type="checkbox" name="{{ Element.one }}" value="{{ Element.one }}"></th>
            <th align="left"><input type="radio" name="startingpoint" value="{{ Element.one }}"></th>
            <td align="left">{{ Element.two }}</td>
            <td align="left">{{ Element.three }}</td>
            <td align="left">{{ Element.four }}</td>
            <td align="left">{{ Element.five }}</td>
            <td align="left">{{ Element.six }}</td>
            <td align="center">{{ Element.seven }}</td>
            <td align="left">{{ Element.eight }}</td>
        </tr>
    {% endfor %}
    </tbody>
    </table>
    </div>
    <input type="submit" value="Start" />
{% if form.errors %}
    {% for field in form %}
        {% for error in field.errors %}
            <div class="alert alert-error">
                <strong>{{ error|escape }}</strong>
            </div>
        {% endfor %}
    {% endfor %}
    {% for error in form.non_field_errors %}
        <div class="alert alert-error">
            <strong>{{ error|escape }}</strong>
        </div>
    {% endfor %}
{% endif %}
</form>
    {% endblock %}
  </body>
</html>

如何修改此表以通过单击标题使输出可排序?

先决条件是什么?是否也有一种非常简单的方法来使用引导主题?

【问题讨论】:

    标签: django html-table jquery-ui-sortable


    【解决方案1】:

    您可以使用现成的 jQuery 插件之一,尝试下面的一个,它应该通过调用库并将类“tablesorter”添加到您的表格标签来工作:- http://tablesorter.com/docs/#Demo

    【讨论】:

    • 你好乌萨马扎基,谢谢。是的,我知道这个类,但我不知道如何使用它。我是否必须更改: 到
      在哪里添加函数?
    • 嗨,只需调用像 这样的 js 库,然后将该类包含到您的表标签中,使用该
    【解决方案2】:

    我现在做了什么:

    我将 jquery-latest.js 和 jquery.tablesorter.js 复制到了 *.html 文件所在的文件夹中。

    我将代码更改如下:

    <html>
      <head>
        <meta content="text/html; charset=utf-8" http-equiv="content-type">
        <script type="text/javascript" src="jquery-latest.js"></script> 
        <script type="text/javascript" src="jquery.tablesorter.js"></script> 
    <script type="text/javascript">
    $(document).ready(function() 
        { 
            $("#myTable").tablesorter(); 
        } 
    ); 
    </script>
      </head>
      <body>{% extends 'base.html' %}
        {% block content %}
        <title></title>
    {{ form.errors }}
    {{ form.non_field_errors }}
    
    <form action="{% url "start" %}" method="post" enctype="multipart/form-data">
        {% csrf_token %}
    
        <div class="panel panel-default">
          <!-- Default panel contents -->
          <div class="panel-heading">my list</div>
          <div class="panel-body">
            <p>some informations</p>
          </div>
        <table id="myTable" class="table table-striped tablesorter">
        <thead>
    
            <tr width="100%">
                <th align="left">1</th>
                <th align="left">2</th>
                <th align="left">3</th>
                <th align="left">4</th>
                <th align="left">5</th>
                <th align="left">6</th>
                <th align="left">7</th>
                <th align="right">8</th>
                <th align="left">9</th>
            </tr>
    
        </thead>
        <tbody>
        {% for Element in data %}
            <tr width="100%">
                <th align="left"><input type="checkbox" name="{{ Element.one }}" value="{{ Element.one }}"></th>
                <th align="left"><input type="radio" name="startingpoint" value="{{ Element.one }}"></th>
                <td align="left">{{ Element.two }}</td>
                <td align="left">{{ Element.three }}</td>
                <td align="left">{{ Element.four }}</td>
                <td align="left">{{ Element.five }}</td>
                <td align="left">{{ Element.six }}</td>
                <td align="center">{{ Element.seven }}</td>
                <td align="left">{{ Element.eight }}</td>
            </tr>
        {% endfor %}
        </tbody>
        </table>
        </div>
        <input type="submit" value="Start" />
    {% if form.errors %}
        {% for field in form %}
            {% for error in field.errors %}
                <div class="alert alert-error">
                    <strong>{{ error|escape }}</strong>
                </div>
            {% endfor %}
        {% endfor %}
        {% for error in form.non_field_errors %}
            <div class="alert alert-error">
                <strong>{{ error|escape }}</strong>
            </div>
        {% endfor %}
    {% endif %}
    </form>
        {% endblock %}
      </body>
    </html>
    

    桌子上仍然没有对其进行排序的功能。我的错误是什么?

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签