0

テキスト ファイルの内容をイングリッド テーブルに表示するログ リーダーを Javascript/jQuery/PHP で構築しようとしています。

Javascript 部分には次の機能があります。

<script type="text/javascript">
$(function() {
  // Count number of lines in the log file
  var $anzahlElemente=0;
  $.countLines = function() {
    $.get("../log.log", function(text) {
      var $lines = text.split(/\r|\r\n|\n/);
      $anzahlElemente = $lines.length-1;
    });
  };

  // Generate table
  $.showTable = function() {
    $("#table1").ingrid({
      url: 'ingrid.php',
      height: 625,
      initialLoad: true,
      rowClasses: ['grid-row-style1','grid-row-style1','grid-row-style2','grid-row-style1','grid-row-style1','grid-row-style3'],
      sorting: false,
      paging: true,
      totalRecords: $anzahlElemente
    });
  }

$.countLines();
$.showTable();
});
</script>

現在の問題は、関数が処理する順序またはシーケンスに問題があるように見えることです。2 つの機能が完了した後も、$anzahlElementeは 0 のまま$anzahlElementeです。テーブルのページング機能を表示するには、 が必要です。

奇妙なことに、次のことを試してみると、最初のアラートに「0」が表示され、2番目のアラートに正しい行数が表示されます。アラートがないと、要素数とページング機能が失われます。しかし、それらを使用すると、すべてが正しく機能しますが、これらのアラートを表示したくありません。;)

$.countLines();
alert($anzahlElemente);
alert($anzahlElemente);
$.showTable();

html、php、css、画像など、他のすべての部分が必要ですか、それとも私の間違いを直接見ていますか?

編集:ファイルを添付できることを願っています。アップロード オプションが見つからなかったので、次の方法で行いました: ingrid.zip

4

2 に答える 2

0

試してみてください$.countLines().end().showTable();

于 2013-07-04T08:37:35.967 に答える