我需要将两个值从一个jquery列表函数传递给另一个函数。 第一个值是表中的一行,第二个是选择选项值,这是我的代码:
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;', [],
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.titulo + '<br>$' + row.precio + ' MXP<br>\
<input class="cuadro" type="button" id="cb.row" name="item" value="ORDENAR" onclick=AddValueToOrders('+ row.item + ',' + cantidad.val() + ');>\
<div data-role="fieldcontain">\
<label for="select-choice-a" class="select">Cantidad:</label>\
<select name="cantidad" id="cantidad" data-native-menu="false">\
<option value="1">1</option>\
<option value="2">2</option>\
<option value="3">3</option>\
<option value="4">4</option>\
</select></div></div><br>');
}
}
},errorHandler);
},errorHandler,nullHandler);
return;
}
有何评论? 提前谢谢
答案 0 :(得分:0)
我假设这是你引用的功能:
AddValueToOrders('+ row.item + ',' + cantidad.val() + ');
您的附加声明有一些问题需要解决。每个选择控件都具有相同的名称和ID,因此很难确定所选的值。如果为每个select元素创建一个基于索引的id并在函数调用中引用它,那么您将获得所选的值:
var cantidad = "cantidad" + i;
$('#lbUsers').append('<div id="producto"><img id="imgprod" width="100" src="images/' + row.foto +'">' + row.titulo + '<br>$' + row.precio + ' MXP<br>' +
'<input class="cuadro" type="button" id="cb.row" name="item" value="ORDENAR" onclick=AddValueToOrders('+ row.item + ', $("#' + cantidad + '").val());>' +
'<div data-role="fieldcontain">' +
'<label for="select-choice-a" class="select">Cantidad:</label>' +
'<select name="' + cantidad + '" id="' + cantidad + '" data-native-menu="false">' +
'<option value="1">1</option>' +
'<option value="2">2</option>' +
'<option value="3">3</option>' +
'<option value="4">4</option>' +
'</select></div></div><br>');
新的onclick功能:
AddValueToOrders('+ row.item + ', $("#' + cantidad + '").val());