0

嗨,我正在尝试返回 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在函数的开头插入它会返回值。

4

1 回答 1

1

当查询完成时调用您的回调函数,这可能是在 add_access() 已经返回之后。

如果您想对查询结果做任何事情,您必须在回调函数或从那里调用的函数中进行。

像这样的东西:

tx.executeSql('SELECT ...', [...],
              function (tx, results) {
                  alert(results.rows.length);
                  // ...
              });
于 2012-09-10T10:35:16.793 回答