程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> js 前端 閉包-為什麼我的js代碼中的for循環只執行最後一次,是閉包造成的麼,怎麼解決吖

js 前端 閉包-為什麼我的js代碼中的for循環只執行最後一次,是閉包造成的麼,怎麼解決吖

編輯:編程解疑
為什麼我的js代碼中的for循環只執行最後一次,是閉包造成的麼,怎麼解決吖

save.onclick=function(){
for (var i = 1; i < tb.getElementsByTagName('tr').length; i++) {
var tds=tb.getElementsByTagName('tr')[i].getElementsByTagName('td');
database.transaction(function(fx){
fx.executeSql(
"insert into class (id,name,age,sex)values(?,?,?,?)",
[tds[0].innerHTML,tds[1].innerHTML,tds[2].innerHTML,tds[3].innerHTML],
function(){
alert("insert success!!!");
},
function(){
alert("insert false!!!");
}
)
})
}

}

最佳回答:


     save.onclick = function () {
        for (var i = 1; i < tb.getElementsByTagName('tr').length; i++) {
            var tds = tb.getElementsByTagName('tr')[i].getElementsByTagName('td');
            database.transaction(

                (function () {
                    return function (fx) {
                        fx.executeSql(
                            "insert into class (id,name,age,sex)values(?,?,?,?)",
                            [tds[0].innerHTML, tds[1].innerHTML, tds[2].innerHTML, tds[3].innerHTML],
                            function () {
                                alert("insert success!!!");
                            },
                            function () {
                                alert("insert false!!!");
                            }
                        )
                    }
                })(tds)
                );
        }

    }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved