Javascript总和没有返回正确的值

时间:2013-02-23 15:28:56

标签: javascript jquery html sum

我正在制作一个代码,根据小时分秒表来计算总分钟数。

我一直在吃我的神经,无法弄清楚为什么值是错误的,小时字段得到的乘以600而不是60,分钟加起来也是错误的,似乎是一团糟。

这是我的代码

<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));
    }) 

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你的括号在错误的地方。你的代码说:

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

应该说:

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

(使用除以60的秒计算的相同建议。)