0

私は自分のコードを持っています

sum=parseFloat($('input[name=fieldname]').val()) * 60 + 
parseFloat($('input[name=fieldname]').val()) + 
(($('input[name=fieldname]').val()) /60).toFixed(2).

これは、期間を入力したフィールドからの値を取得し、合計を分単位で取得する必要があります。問題は、取得した合計が分数を返すのではなく、3つのフィールドを連結することです。

例:1時間20分で、(60 + 20)80の代わりに6020を取得します

編集:上記のコードは一般的な形式です。正確なコードは次のとおりです。

var sum = parseFloat($('input[name="<?php esc_attr_e( $field->field_id ); ?>hrs"]').val())*60 +
parseFloat(($('input[name="<?php esc_attr_e( $field->field_id ); ?>mins"]').val()) + 
parseFloat($('input[name="<?php esc_attr_e( $field->field_id ); ?>secs"]').val())/60).toFixed(2) 
4

2 に答える 2

1

ステートメントにまだ文字列が含まれているため、連結されます。数値変換関数をショートカットして、単純な構文で実行してみましょう。

var h = $('input[name=hours]').val(),
    m = $('input[name=minutes]').val(),
    s = $('input[name=seconds]').val();
sum = 3600*(h|0) + 60*(m|0) + (s|0);
于 2013-02-23T16:24:04.843 に答える
0

toFixed()文字列を返します。これは、前の計算の結果に連結されます。これを使って:

var input = parseFloat($('input[name=fieldname]').val());
sum = input * 60 + input + Math.round(input / 6000) * 100;

(個別の入力がある場合は同等に機能します。アイデアは得られると思います)

于 2013-02-23T16:22:55.420 に答える