在jQuery中计算一个 x另一个

我正在拿NaN。 我怎么能这样做,并在每次更改数量时更新它?

$('input[name="qtybox"]').change(function(){ var price = parseInt($(this).text(), 10) * parseFloat($(this).closest('#price').text(), 10); $("#tPrice").html(price); }); 2.79   

你在找像这样的jsFiddle例子吗?

jQuery的:

 $('input.qtybox').each(function() { $(this).keyup(function() { var price = $(this).parent().siblings('td#price').text(); var qty = $(this).val(); $(this).parent().siblings('td#tPrice').html(isNaN( ((price * qty).toFixed(2)) ) ? 0 : ((price * qty).toFixed(2))); }) }) 

parseInt()计算为NaN。 您正在尝试从空字符串中解析整数。

请提供更完整的代码示例; 我相信问题是你应该在使用find()时尝试使用closest() find()

表格单元格没有值。 请改用text方法。

另外,将字符串2.79解析为整数将只给出2

 parseFloat($(this).closest('#price').text()) 

问题是.closest()查找链。 为了减少复杂性,不要指定边界:

 $('#tPrice').each(function(){ var price = parseInt($('input[name="qtybox"]').val(), 10 * parseInt($('#price').val(), 10); $(this).html(price); }); 

要保持当前的型号:

 $('#tPrice').each(function(){ var price = parseInt($(this).prevAll('input[name="qtybox"]').val(), 10 * parseInt($(this).prevAll('#price').val(), 10); $(this).html(price); }); 

虽然你真的不应该限制ID选择器,除非你有充分的理由,因为如果你这样做就无法优化它。