function add(one, two, three) {
db.transaction(function (tx) {
tx.executeSql('INSERT INTO results (one, two, three) VALUES (?,?,?)', [one, two, three]);
}), function() {
console.log('add transaction ok');
});
}
$('#add').click(function() {
$("tr.row").each(function() {
var one = $(this).find("input.one").val();
var two = $(this).find("input.two").val();
var three = $(this).find("input.three").val();
add(one, two, three);
});
alert("Done");
});
嗨,我试图点击一个按钮,它会在表的每一行中找到输入值,并将这些值插入到数据库中。表行数量有时可能会有所不同,也许3其他时间可能是10.等待每个包含数据库更新然后重定向
我已经使用jquery .each函数来执行此调用异步函数。整个过程起作用。我现在想要做的是当.each()函数完成alert()时。在代码原样的情况下,我首先收到警报,然后控制台记录事务是否正常,但我希望最后得到警报。
而不是理想的警报,我想直接到另一个页面,但我不能如果交易不完成第一。
我看了下面的解决方案可用在这个链接https://salesforce.stackexchange.com/questions/12424/wait-for-each-contained-async-calls-to-complete-before-redirect。实施这个警报是马上进行,交易通话甚至没有开始。
哎,我正在做的PhoneGap移动应用程序,数据库是设备,其中应用程序使用本地存储。 编辑:即时尝试使每个完成后的警报,你的解决方案是在每个? – JMa
如果数据库对设备是本地的,那么通过这种方式这将起作用。我不知道你的应用程序是什么或做什么,所以我不能确定地说这种方法是否是一个好主意。 – Brian