2013-05-08 70 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); 
     } 

    }); 
});