一个扩展自旋转器的自定义部件。使用 全球化(Globalization)插件来解析和输出时间戳,带有自定义的 step 和 page 选项。向上/向下光标用于分钟的递增/递减,向上/向下翻页用于小时的递增/递减。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI 旋转器(Spinner) - 时间</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://jqueryui.com/resources/demos/external/jquery.mousewheel.js"></script>
<script src="http://jqueryui.com/resources/demos/external/globalize.js"></script>
<script src="http://jqueryui.com/resources/demos/external/globalize.culture.de-DE.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
<script>
$.widget( "ui.timespinner", $.ui.spinner, {
options: {
// 秒
step: 60 * 1000,
// 小时
page: 60
},
_parse: function( value ) {
if ( typeof value === "string" ) {
// 已经是一个时间戳
if ( Number( value ) == value ) {
return Number( value );
}
return +Globalize.parseDate( value );
}
return value;
},
_format: function( value ) {
return Globalize.format( new Date(value), "t" );
}
});
$(function() {
$( "#spinner" ).timespinner();
$( "#culture" ).change(function() {
var current = $( "#spinner" ).timespinner( "value" );
Globalize.culture( $(this).val() );
$( "#spinner" ).timespinner( "value", current );
});
});
</script>
</head>
<body>
<p>
<label for="spinner">时间旋转器:</label>
<input id="spinner" name="spinner" value="08:30 PM">
</p>
<p>
<label for="culture">选择一种用于格式化的文化:</label>
<select id="culture">
<option value="en-EN" selected="selected">English</option>
<option value="de-DE">German</option>
</select>
</p>
</body>
</html>