您好,我正在尝试返回no的长度。在数据库中找到的行,但我得到了未定义。因为我对jquery有点新鲜,所以我可以返回任何其他方式。
var add_access_db = {"add_access" : function(id, table) //get id of equipment
{
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM '+ table +' WHERE id=? AND Access=?', [id,"0"], //Check access (table is the table name passed though variable)
function (tx, results) {
var len = results.rows.length, i; //Get row length for access
return len;
});
});
}
}
我正在通过
来调用它function checkDetails(){
var len=add_access_db.add_access(id, table); //check access
alert(len);
}
我在这里做错了什么?如果我在函数的开头插入return
,则返回值。
答案 0 :(得分:1)
在查询完成后调用您的回调函数,这可能是在add_access()已经返回之后。
如果要对查询结果执行任何操作,则必须在回调函数或从那里调用的函数中执行此操作。
这样的事情:
tx.executeSql('SELECT ...', [...],
function (tx, results) {
alert(results.rows.length);
// ...
});