2012-09-10 55 views
0

嗨我想要返回沒有的長度。在數據庫中找到的行,但我越來越未定義。他們有什麼其他的方式可以回來,因爲我對jquery有點新鮮。如何返回從html5數據庫中找到的總條目?

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,它將返回值。

回答

1

當查詢完成時,您可能會調用回調函數,這很可能是在add_access()已經返回之後。

如果您想對查詢結果做任何事情,您必須在回調函數或從那裏調用的函數中執行此操作。

事情是這樣的:

tx.executeSql('SELECT ...', [...], 
       function (tx, results) { 
        alert(results.rows.length); 
        // ... 
       }); 
+0

不工作我試着給它一個不同的功能,但沒有奏效。 我該如何回撥? – user1456131

+0

我想在不同的函數返回的長度是這樣的 'var len = add_access_db.add_access(id,table); '應該保留返回的值,而不是給定未定義的值。 – user1456131

相關問題