【发布时间】:2013-09-22 07:40:35
【问题描述】:
我是 HTML5 / JqueryMobile 的新手。 我有这个功能,但由于某种奇怪的原因,它给了我第二次调用的结果,通过 Onclick(),这是我的代码:
function ListDBValues() {
if (!window.openDatabase) {
alert('Databases are not supported in this browser.');
return;
}
$('#lbUsers').html('');
db.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM productos order by titulo;', [],
function(transaction, result) {
if (result != null && result.rows != null) {
for (var i = 0; i < result.rows.length; i++) {
var row = result.rows.item(i);
$('#lbUsers').append('<div id="producto"><img id="imgprod" width="100" src="images/' + row.foto +'">' + row.recid + '.' + row.titulo + '<br>$' + row.precio + ' MXP<br><input class="cuadro" type="button" id="cb.row" name="item" value="ORDENAR" onclick=AddValueToOrders(' + row.recid + ');></div>');
}
}
},errorHandler);
},errorHandler,nullHandler);
return;
}
这是第二个功能:
function AddValueToOrders(item) {
if (!window.openDatabase) {
alert('Databases are not supported in this browser.');
return;
}
msga = "El item es: "+ item ;
alert(msga);
db.transaction(function(tx) {
/// veo si ya existe /////
tx.executeSql('SELECT count(*) AS c FROM orders where prodid = '+ item +' ', [],
function (tx, result) {
totprod = result.rows.item(0).c;
//totprod = results.rows.item(0)['c'];
});
});
var themessage = "Total producto: ";
themessage = themessage + totprod ;
alert(themessage);
}
问题是我想知道该产品是否已经存在于 Orders 表中,所以我可以更新它,而不是插入另一个具有相同代码的产品。
【问题讨论】:
-
不确定为什么要引用单击和双击,如果您在移动设备上,您不会使用点击事件吗?我可以从您的代码中读取您正在执行一些您应该执行的事务回调函数中的警报是异步的,不会遵循其余函数逻辑的执行顺序。请更新您的答案,更好地描述您正在做什么以及您期望做什么。
标签: jquery html jquery-mobile