JQuery Mobile のメッセージに関するすべての質問を読みましたが、問題に対する答えが見つかりませんでした。
各リスト項目がクエリの結果を含む新しいページを開くリストを含むページがあります。すべて正常に動作していますが、クエリ中、クエリが完了するまでターゲット ページが空白で表示されます。私が欲しいのは、検索が進行中であることをユーザーに通知することですが、関数を配置する適切な位置が見つかりませんでした。
// in each li of list_a I have a href to page_b, that resultas in
// <li id="op1"><a href="#page_b" data-transition="slide" class="ui-link-inherit">Option A</a></li>
// <li id="op2"><a href="#page_b" data-transition="slide" class="ui-link-inherit">Option B</a></li>
// <li id="op3"><a href="#page_b" data-transition="slide" class="ui-link-inherit">Option C</a></li>
$('#list_a').on('click', 'li', function () {
id = this.id;
do_query(id);
});
function do_query(id) {
//$.mobile.showPageLoadingMsg(); // doesn't work
sql = 'SELECT ... ... ';
db.transaction(
function (tx) { tx.executeSql(sql,[id], populate_page, errorHandler); });
}
function populate_page(tx, results) {
$('#list_b').children().remove('li');
for (var i = 0; i < results.rows.length; i++) {
var row = results.rows.item(i);
$('#list_b').append('result data...').listview('refresh');
}
}