[英]jQuery - Format Minutes and Seconds - 00:00
在我的網站上,我有一個文本輸入字段,該字段接受以分鍾和秒為單位的時間,格式如下:
00:00
現在,如果用戶鍵入如下內容:
00:61
我需要將其格式化為“模糊”:
01:01
我看了一下moment.js之類的插件,但它們似乎都無法執行這種時間格式化。
有人知道用jQuery或JavaScript做到這一點的方法嗎?
您可以在blur
事件上使用jQuery .val()
方法來實現此目的。 這是一個例子。
jQuery(function($) { $(document).on('blur', 'input', function(e) { $(this).val(function(i, val) { var timeParts = val.split(':'), totalSeconds = parseInt(timeParts[0], 10) * 60 + parseInt(timeParts[1], 10), minutes = Math.floor(totalSeconds / 60), seconds = totalSeconds - (minutes * 60); return [minutes < 10 ? 0 : '', minutes, ':', seconds < 10 ? 0 : '', seconds].join(''); }); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" value="00:61">
一種方法: http : //codepen.io/zvona/pen/BoRXgq
var input = document.querySelector('#input');
input.addEventListener('blur', function() {
var values = '';
input.value.split(':').reduce(function(a,b) {
a = ~~a;
b= ~~b;
if (b >= 60) {
a += ~~(b / 60);
b = b % 60;
}
values += a +':'+ b;
return b;
});
input.value = values;
}, false);
好吧,這可能並不是您想要的,但是最好使用bootstrap timepicker之類的東西?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.