将值从jquery函数传递给另一个函数

时间:2012-04-12 16:18:48

标签: javascript jquery jquery-mobile

我需要将两个值从一个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; 
}

有何评论? 提前谢谢

1 个答案:

答案 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());