首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >for循环中的html5sql.process

for循环中的html5sql.process
EN

Stack Overflow用户
提问于 2012-07-27 00:00:42
回答 1查看 292关注 0票数 1

我正在使用jQuery Mobile1.1.1和PhoneGap开发一个iPad应用程序。我使用html5sql.js进行数据库操作,它工作得很好。

如何在for循环中使用html5sql.process()

例如:

代码语言:javascript
复制
html5sql.process( {
                    "sql": "select id,count from my_table",
                     "data": [],
                      "success": function(transaction, results){        
                    },  
                     function(transaction, results){

                        for(var i = 0; i < results.rows.length;i++){

                             /// Line 5
                 html5sql.process( {
                                      "sql": "select count(*) from my_table1 where id= ?",
                                    "data": [results.rows.item(i).id],
                                     "success": function(transaction, resultsD){        
                                 },  
                                      function(transaction, resultsD){

                                            if(results.rows.item(i).count == resultsD.rows.length){
                                  //do my task

                            }
                                       },function(){}
                                    );
                                 }
                           },function(){}
                       );

我没有从这段代码中得到任何输出。当我检查它时,它只工作到第5行,之后的代码不工作。是什么导致了问题?

EN

回答 1

Stack Overflow用户

发布于 2012-07-29 00:22:44

看起来,你的代码的整个结构是错误的。你不应该在循环内请求数据库,而应该在外部请求。下面是我的代码中生成jQM列表视图的一段代码。查询结果被放入一个数组中,javascript从数组中解析出实际的HTML代码。希望能有所帮助

代码语言:javascript
复制
function showRecords() {
    document.getElementById('results').innerHTML = '<li data-role="list-divider">Header</li>';
    db.transaction(function(tx) {
      tx.executeSql("SELECT * FROM OrderList", [], function(tx, result) {
         for (var i = 0, item = null; i < result.rows.length; i++) {
            item = result.rows.item(i);
            document.getElementById('results').innerHTML += 
             '<li data-role="fieldcontain" class="ui-field-contain ui-body ui-br ui-li ui-li-static ui-body-c">'
            +'<a href="#"><p style="font-weight:bold;">'+item['catNo']+'</p>'
            +'.......................
            +'</li>';  
          }     
          $('#results').listview('refresh',true);
      });
   });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11673342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档