-3

時間分と秒のテーブルに基づいて合計分を計算するコードに取り組んでいます。

私は神経を食べていて、なぜ値が間違っているのか理解できません。時間フィールドは60ではなく600で乗算され、分も間違って加算され、完全に混乱しているようです。

これが私のコードです

<table width="90%"><tr>
<td><input size="4" type="text" name="<?php esc_attr_e( $field->field_id ); ?>hrs"  />   </td>
<td><input size="4" type="text" name="<?php esc_attr_e( $field->field_id ); ?>mins" /></td>
<td><input size="4" type="text" name="<?php esc_attr_e( $field->field_id ); ?>secs" /></td>
<td><input size="10" type="text" name="<?php esc_attr_e( $field->field_name ); ?>" id="    <?php esc_attr_e( $field->field_id ); ?>" class="attachments attachments-field attachments-field-<?php esc_attr_e( $field->field_name ); ?> attachments-field-<?php esc_attr_e(  $field->field_id ); ?>" value="<?php esc_attr_e( $field->value ); ?>" readonly/></td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;Hours</td><td>&nbsp;&nbsp;Minutes</td>    <td>&nbsp;Seconds</td><td>&nbsp;&nbsp;&nbsp;Audio Minutes</td></tr></table>

脚本:

jQuery(document).ready(function($)
{
    $('input[name="<?php esc_attr_e( $field->field_id ); ?>hrs"],input[name="<?php   esc_attr_e( $field->field_id ); ?>mins"],input[name="<?php esc_attr_e( $field->field_id );  ?>secs"]').change(function()
    {
        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) 
        $('input[name="<?php esc_attr_e( $field->field_name ); ?>"]').val(parseFloat(sum));
    }) 

何か案は?

4

1 に答える 1

1

あなたの括弧は間違った場所にあります。あなたのコードは言う:

parseFloat($('input[name=fieldname]').val() * 60)

それは言うべきです:

parseFloat($('input[name=fieldname]').val()) * 60

(60 で割った秒の計算についても同じアドバイスです。)

于 2013-02-23T15:46:50.527 に答える