2017-04-11 12 views
0

問題jquery tablesorterはフラスコまたはforループ生成テーブルでは機能しませんか?

私はforループ使用して、HTMLテーブルを生成フラスコを使用してWebアプリを持っています。 for-loopsでソートされていないデモ/サンプルテーブルを取得できました。しかし、私はこれを分別可能にすることはできません。念のため、

index.htmlを

{% extends "layout.html" %} 
<head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script type="text/javascript" src="http://tablesorter.com/__jquery.tablesorter.min.js"></script> 
    <script> 
     $(document).ready(function() 
      { 
       $("#subTable").tablesorter(); 
      } 
     ); 
    </script> 
    {% block title %} 
     SRA Submissions Status Report 
    {% endblock %} 
</head> 

{% block main %} 
    <h2>SRA Submissions Status Report</h2> 
    <form action="{{ url_for('index') }}" method="post"> 
     <fieldset> 
      <div class="form-group" align="center"> 
       <input autocomplete="off" autofocus class="form-control" name="spuid" placeholder="Spuid" type="text"/> 
       <input autocomplete="off" autofocus class="form-control" name="accession" placeholder="Accession" type="text"/> 
       <input autocomplete="off" autofocus class="form-control" name="bioproject" placeholder="Bioproject" type="text"/> 
       <input autocomplete="off" autofocus class="form-control" name="biosample" placeholder="Biosample" type="text"/> 
       <input autocomplete="off" autofocus class="form-control" name="submission_status" placeholder="Submission Status" type="text"/> 
       <button class="btn btn-default" type="submit" name="filter">Filter</button> 
       <button class="btn btn-default" type="submit" name="reset">Reset</button> 
       <button class="btn btn-default" type="submit" name="download">Download</button> 
      </div> 
     <p>{{ msg }}</p> 
     </fieldset> 
    </form> 

    <table id="subTable" class="tablesorter"> 
    <thead> 
     <tr> 
      {% for header in headers %} 
      <th>{{ header }}</th> 
      {% endfor %} 
     </tr> 
     </thead> 
     <tbody> 
     {% for sub in submissions.items %} 
     <tr> 
      <td>{{ sub.spuid }}</td> 
      <td>{{ sub.spuid_date }}</td> 
      <td>{{ sub.g_number }}</td> 
      <td>{{ sub.accession }}</td> 
      <td>{{ sub.bioproject }}</td> 
      <td>{{ sub.biosample }}</td> 
      <td>{{ sub.release_date }}</td> 
      <td>{{ sub.ncbi_submission_id }}</td> 
      <td>{{ sub.submission_status }}</td> 
      <td>{{ sub.response_message }}</td> 
      <td>{{ sub.response_severity }}</td> 
      <td>{{ sub.read_file }}</td> 
      <td>{{ sub.temp_path }}</td> 
     </tr> 
     {% endfor %} 
     {% if submissions.has_prev %} 
      <a href="{{ url_for('index', page=submissions.prev_num) }}">&lt;&lt; Prev</a> 
     {% else %}&lt;&lt; Prev 
     {% endif %} | 
     {% if submissions.has_next %} 
      <a href="{{ url_for('index', page=submissions.next_num) }}">Next &gt;&gt;</a> 
     {% else %}Next &gt;&gt; 
     {% endif %} 
     </tbody> 
    </table> 
{% endblock %} 

layout.html:ここに私のコードです

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <link rel="stylesheet" type="text/css" href="../static/style.css"> 
    <title>{% block title %}{% endblock %}</title> 
</head> 
    <body> 
     <main> 
      {% block main %} 
      {% endblock %} 
     </main> 
    </body> 
</html> 
+0

ん有効なHTMLを生成?次のリンクと前のリンクはテーブル行の外側にあります。また、コンソールにエラーが表示されていますか? tablesorterの 'debug'オプションは何を示していますか? – Mottie

+0

うん、HTMLは正常に動作します。次のリンクと前のリンクはページネーションのためのものです。私はtablesorterがデバッグオプションを持っているかどうか分かりませんでした。 –

+0

私が考えることができるのは、a)テーブル作成者は私のページネーションが気に入らない、またはb)反復生成テーブルではうまくいかない(そう思わない)ということです。 –

答えて

1

わかりましたが、より多くの実験の後、この自分自身を解決しました。どうやら問題はindex.htmlがスクリプトをロードしていないことでした。なぜなら、layout.htmlはheadタグの内容をheadタグの内容で上書きしていたからです。

レイアウトにスクリプトタグを移動するHTMLは、問題解決:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <link rel="stylesheet" type="text/css" href="../static/style.css"> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script type="text/javascript" src="http://tablesorter.com/__jquery.tablesorter.min.js"></script> 
    <script> 
     $(document).ready(function() 
      { 
       $("#subTable").tablesorter(
        {debug: true} 
       ); 
      } 
     ); 
    </script> 
    <title>{% block title %}{% endblock %}</title> 
</head> 
    <body> 
     <main> 
      {% block main %} 
      {% endblock %} 
     </main> 
    </body> 
</html> 
関連する問題