-3

我正在编写一个代码来根据小时分钟和秒表计算总分钟数。

我一直在吃我的神经,无法弄清楚为什么这些值是错误的,小时字段乘以 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));
    }) 

有任何想法吗?

4

1 回答 1

1

你的括号放错地方了。你的代码说:

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

它应该说:

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

(对于除以 60 的秒计算的建议相同。)

于 2013-02-23T15:46:50.527 回答