0
クロム拡張機能で作業していますが、sqliteクエリを使用して動的に塗りつぶされたテーブルのページングを行いたいと思います。Javaスクリプトのページング
私はページングを作成し、init関数でいくつかの変更を行うために、このチュートリアルを使用していますと、
http://en.newinstance.it/2006/09/27/client-side-html-table-pagination-with-javascript/
私はそれを充填した後、テーブルの長さを取得したい、DOMは準備ができていないように思わそして、テーブルの長さのZEROとして結果のリターンは、ここで私はトンのように作るのjsファイルの初めで
function ViewAllNotes(db){
var allListItems;
var cur = fromDateToString(new Date(),"date");
db.transaction(function(tx) {
tx.executeSql("SELECT NOTE_DESC,NOTE_DATE,NOTE_TIME FROM NOTES where NOTE_DATE = ? order by NOTE_TIME desc ",[cur],function(tx,result){
alert(result.rows.length);
for(i=0;i< result.rows.length;i++){
tr= "<tr>";
tr=tr+ "<td>"+ result.rows.item(i)['NOTE_DESC']+"</td>";
tr=tr+ "<td>"+ result.rows.item(i)['NOTE_TIME']+"</td>";
tr=tr+ "</tr>";
allListItems+=tr;
}
var tableContent= " <thead><tr><th id='activityHeader'>Activity</th> <th>Time</th></tr></thead>";
tableContent = tableContent+"<tbody>"+allListItems+"</tbody>";
$("table#notes").append(tableContent);
//$('#notes').dataTable();
},onError);
});
}
EDIT ..私のコードの一部です彼の
ViewAllNotes(db);
var rows = document.getElementById("notes").rows;
alert("rows "+rows.length);
その後、ページャクラス、を呼び出すだけでなく、それがゼロに警告?
質問をもう一度確認してください。回答後に編集してください。 – palAlaa
ViewAllNotes呼び出しの最初の行は非同期です。それをajax呼び出しのように扱います。後続するものは、完了するまでその状態にアクセスできません。それが完了するとguarunteesはありません - それはブラウザ、dbクエリなどに依存します。あなたの最善の策は、約束パターン、シングルアクターモデル、イベント、またはpub/sub(オブザーバー)を使用して残りのコードを伝えることですSQLが終了したとき。 – AutoSponge
@Alaaこれを行う適切な方法は、コールバック関数をその 'ViewAllNotes'に渡して、あなたの関数がそれを呼び出すことです。 –