-1

我实现了以下函数来计算表单的总值:

$('tr').each(function(index, element) {
    if( ($(this).find('input.operation').val() == "add") || ($(this).find('select.operation').val()=="add")) {
         total = parseFloat($(this).find('input.subtotal').val( $('input:eq(1)',this).val() * $('input:eq(2)',this).val() ));
         console.log(subtotal);
    } else {
        console.log( $(this).find('input.subtotal').val( $('input:eq(1)',this).val() * $('input:eq(2)',this).val() ) );         
    }
});

但是当我看到控制台日志时,它只说:

[prevObject: e.fn.e.init[1].....

而不是显示实际值,所以我的问题是如何从 Object 转换为 float?

parseFloat 似乎不起作用(显然是因为它只将字符串转换为浮点数)

4

2 回答 2

2

当您设置值时,它不会返回实际值,而是返回当前的 jQuery 对象。将变量设置为结果.val()并将其打印出来:

var value = $(this).find('input.subtotal').val( $('input:eq(1)', this).val() * 
           $('input:eq(2)', this).val() ).val();

console.log( value );
于 2013-01-28T17:50:06.307 回答
0

代替

  total = parseFloat($(this).find('input.subtotal').val( $('input:eq(1)',this).val() * $('input:eq(2)',this).val() ));

  total = parseFloat($('input:eq(1)',this).val())
        * parseFloat($('input:eq(2)',this).val());
  $(this).find('input.subtotal').val( total );

$(...).val(...)返回启用链接的对象集,它不返回值。

于 2013-01-28T17:49:18.653 回答