我需要javascript中的持续时间选择器 就像天:小时:分钟:秒。
天,小时,分钟,秒的四个文本框
答案 0 :(得分:1)
对于days
字段,只需复制其他字段的格式,然后将值从60更新为24。
但正如您提到的键盘更改值,您应该选择form events或keyboard events来执行此操作。在本演示中,我选择了blur事件,因为它会在输入失去焦点时触发。
$("input[name='value']").blur(function() {
var id = $(this).prop('id');
$("#" + id).spinner('stepUp');
$("#" + id).spinner('stepDown');
});
添加键盘事件后,应考虑用户输入的数字超过60秒。有一个示例,在原始代码中,如果用户在130
字段中输入second
,则会更新为1 minute and 70 seconds
,但不会更新为2 minutes and 10 seconds
。
您可以使用mod
来解决此问题。
$('#seconds').spinner({
spin: function (event, ui) {
if (ui.value >= 60) {
$('#minutes').spinner('stepUp', ui.value / 60);
$(this).spinner('value', ui.value % 60);
return false;
} else if (ui.value < 0) {
if($('#minutes').spinner('value') > 0) {
$(this).spinner('value', ui.value + 60);
$('#minutes').spinner('stepDown');
}
return false;
}
}
});
这是Jsfiddle。