4

在我的页面中,我有不同的按钮,每次单击时都会生成不同的查询来访问数据库。我已经有一个函数“queryDB”来检索表中的所有数据,当我单击重置按钮时,另一个查询来更新表值。

我注意到它没有进入 FUNCTION “ 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);

        }

函数查询数据库

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 回答