-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 が機能していないようです (明らかに、文字列を float に変換するだけなので)

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 に答える