jQuery:将Minutes更改为小时

时间:2013-05-08 04:51:36

标签: jquery input time

我使用jQuery将分钟转换为小时,每当分钟超过59分钟;小时更改为1。

到目前为止我已尝试过这个 -

<script type="text/javascript">
    $(document).ready(function () {
        $('.minutes').change(function () {
            if ($('.minutes').val() > 59) {
                Math.floor($('.hour').val()) = ($(this).val()) + 1;
            }

        });
    });


</script>

Jsfiddle link- Minutes into hour

我想要每分钟超过60的乘法时间显示转换小时。

感谢您的时间。

7 个答案:

答案 0 :(得分:5)

这是JSFiddle

$(document).ready(function () {
    $('.minutes').change(function () {
        if ($('.minutes').val() > 59) {
            //Math.floor($('.hour').val() )= $(this).val() + 1;
            var min = $('.minutes').val();
            var hr = Math.floor(min / 60);
            var hrTemp = Math.floor($('.hour').val());
            var remMin = min % 60;
            $('.hour').val(hr + hrTemp);
            $('.minutes').val(remMin);
        }

    });
});

答案 1 :(得分:3)

如果分钟超过120,则添加1不会产生正确的小时,​​而不是通过添加1来对值进行硬编码,您可以将分钟数除以60并将结果添加到.hour元素的值。

$(document).ready(function () {
    $('.minutes').change(function () {
        var min = + this.value;
        if (min > 59) {
            this.value = min % 60;
            $('.hour').val(function (_, oldValue) {
                return +oldValue + Math.floor(min / 60);
            })
        }
    });
});

http://jsfiddle.net/GZEaH/

答案 2 :(得分:2)

这实际上只是一些基本的数学。

// get value
var minutes = parseInt($('.minutes').val());

// calculate
var hours = Math.floor(minutes / 60);
minutes = minutes % 60;

// set new values
$('.hour').val(hours);
$('.minutes').val(minutes);

如果你不知道%做了什么:它是modulo - 运算符:

  

在计算中,模(有时称为模数)运算找到一个数除以另一个数的余数。

答案 3 :(得分:1)

$(document).ready(function() {
var hours = Math.floor( $('.minutes').val() / 60);          
var minutes = $('.minutes').val() % 60;


$('.hour').val(hours);
$('.minutes').val(minutes);    

});

答案 4 :(得分:0)

$(document).ready(function () {
    $('.minutes').change(function () {
        if (parseInt($('.minutes').val()) > 59) {
            $('.hour').val($('.hour').val() + 1);
            $('.minutes').val(0);
        }

    });
});

http://jsfiddle.net/stackmanoz/5wcaQ/1/

答案 5 :(得分:0)

检查jsFiddle http://jsfiddle.net/5wcaQ/9/

上的示例代码
$('.minutes').change(function () {
            var minutes = parseInt($('.minutes').val());
            var hour = parseInt($('.hour').val() == '' ? '0' : $('.hour').val());
            var excessHour = parseInt(minutes / 60);
            minutes = minutes - (excessHour * 60);
            $('.minutes').val(minutes);
            excessHour += hour;
            $('.hour').val(excessHour);

        });

答案 6 :(得分:0)

这会将您的分钟文本框值转换为小时。 [记住这段代码不会改变分钟文本框的值; ]
http://jsfiddle.net/5wcaQ/12/

$(document).ready(function () {
    var jqMin = $('.minutes'),
        jqHour = $('.hour');
    jqMin.change(function () {
        if ( jqMin.val() > 59) {
            console.log ( jqMin.val() + ' - ' + ( jqMin.val() / 60 ) );
            jqHour.val ( Math.floor ( jqMin.val() / 60 ) );
        }

    });
});