我正在制作一个代码,根据小时分秒表来计算总分钟数。
我一直在吃我的神经,无法弄清楚为什么值是错误的,小时字段得到的乘以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> Hours</td><td> Minutes</td> <td> Seconds</td><td> 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));
})
有什么想法吗?
答案 0 :(得分:1)
你的括号在错误的地方。你的代码说:
parseFloat($('input[name=fieldname]').val() * 60)
应该说:
parseFloat($('input[name=fieldname]').val()) * 60
(使用除以60的秒计算的相同建议。)