4

私のページにはさまざまなボタンがあり、クリックするたびにデータベースにアクセスするためのさまざまなクエリが生成されます。テーブル内のすべてのデータを取得するための1つの関数「queryDB」がすでにあり、リセットボタンをクリックすると、テーブル値を更新するための別のクエリがあります。

関数「 resetDB 」に入っていないことに気づきまし。phoneGapが「queryDB」関数のみを使用しているためですか?これをどのように解決すればよいですか?

** *新たに見つかった問題** location.reload()を使用すると、テーブルが更新されないことに気付きました。だから私はそれを使用しませんでした、それは関数に入り、データベースを更新しましたが、それは「新しい」ページを表示しませんでした。hrefを使用して設定ページに戻ると、以前のようにデータベースが更新されません。

$('button#reset').on("click",function(){
            var db = window.openDatabase("Database", "1.0", "ApplicationDB", 200000);
            db.transaction(resetDB, errorCB);
            location.reload();
        });

関数resetDB

function resetDB(tx) {
            tx.executeSql("UPDATE RESULT SET Difficulty = 'Easy' "  , [], querySuccess, errorCB);

        }

関数queryDB

function queryDB(tx) {

        tx.executeSql("SELECT * FROM RESULT ORDER BY Level"  , [], querySuccess, errorCB);
    }
4

2 に答える 2

1

データベースから更新された情報を表示するには、同じページを再度リロードする必要があります。

私はこれがあなたのために働くはずだと信じています。

$('button#reset').on("click",function(){              
    var db = window.openDatabase("Database", "1.0", "ApplicationDB", 200000);
    db.transaction(resetDB, errorCB, successCB);              

});  


// Success callback
function successCB() {
    location.reload();    
}
于 2012-08-30T13:09:51.470 に答える
1

JQueryMobileを使用していて、同じページに移動したい場合は、次のようにします。

$ .mobile.changePage(hashedPage、{allowSamePageTransition:true});

ロケーションオブジェクトを理解するために、さらにコードを追加していただけますか?

于 2012-08-30T14:03:08.767 に答える