我正在从网络服务获取值。我必须将这些值插入到 Web SQL 数据库的表中。
我有 4 条记录。我已将以下代码插入到循环中,但仅将最后一条记录添加到数据库中,而不是前 3 条记录。
for(var t=0;t<main_category.length;t++){
db.transaction(function(tx){
var insertStatement="INSERT INTO main_menu(catId,catName,catImage) VALUES(?,?,?)";
tx.executeSql(insertStatement, [menu_id, menu_name, menu_img]);
console.log("values inserted "+ t);
});
}
我尝试了很多解决方案,以下链接有其中之一,
Web SQL Database + Javascript loop
但是,它不起作用。请建议我如何使用动态值填充表格。
最佳答案
试试这个:
for(var t = 0; t < main_category.length; t++){
(function(i) {
var item = main_category[i];
var menu_id = item.id, menu_name = item.name, menu_img = item.img;
db.transaction(function(tx) {
var insertStatement="INSERT INTO main_menu(catId,catName,catImage) VALUES(?,?,?)";
tx.executeSql(insertStatement, [menu_id, menu_name, menu_img]);
console.log("values inserted "+ i);
});
})(t);
}
结果:
关于javascript - 使用 javascript 将值动态添加到 Web SQL 数据库中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24624451/