2013-05-08 90 views
2

我使用jQuery将分钟转换为小时,只要分钟超过59;小时改为1jQuery:将分钟变成小时

我已经试过这使远

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

     }); 
    }); 


</script> 

的jsfiddle链路Minutes into hour

我想每分钟超过60。

乘法时间显示转换小时

谢谢你的时间。

回答

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/

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/

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 - 运算符:

在计算中,模(有时称为模数)操作由另一个找到一个数相除的余数。

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


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

}); 
5

这里的一对的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); 

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

    }); 
}); 
0

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

    }); 
});