EasyUI jQuery的timespinner widget是一个时间选择器插件,可以用于在页面上选择时间。下面是使用timespinner widget的完整攻略。
安装
首先,你需要在你的HTML文件中引入 EasyUI jQuery 和 timespinner widget的代码。可以从EasyUI jQuery官网 http://www.jeasyui.com 上下载 EasyUI jQuery,并将其引入到你的HTML页面中。并从官网下载并引入 timespinner widget 的代码。
<head>
<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
<link rel="stylesheet" type="text/css" href="easyui/demo/demo.css">
<script type="text/javascript" src="easyui/jquery.min.js"></script>
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="easyui/jquery.timespinner.js"></script>
</head>
使用
定义一个HTML元素来作为你的时间选择器。
<input id="timespinner" type="text" class="easyui-timespinner">
接下来,初始化timespinner widget。可以使用JavaScript来进行初始化:
<script>
$('#timespinner').timespinner({
showSeconds: true, // 是否显示秒钟选择器
showHours: true, // 是否显示小时选择器
spinnerWidth: 100, // 控制选择器的宽度
min: '00:00', // 最小可选时间
max: '23:59:59' // 最大可选时间
});
</script>
在初始化完成后,你就可以在页面上使用这个时间选择器了。
示例
示例 1
这是一个简单的示例用来演示如何使用timespinner来选择上午/下午时间。你可以通过AM
和PM
两个按钮来切换到上午或下午时间的选择。
<input id="timespinner1" type="text" class="easyui-timespinner" style="width: 200px;">
<div>
<input type="radio" name="meridian" value="AM" checked>AM
<input type="radio" name="meridian" value="PM">PM
</div>
<script>
$('#timespinner1').timespinner({
showSeconds: true,
showHours: true,
formatter: function (time) {
var meridian = $("input[name='meridian']:checked").val();
var timeArray = time.split(":");
var hour = timeArray[0];
var minute = timeArray[1];
var second = timeArray[2];
if (meridian == "PM") {
hour = parseInt(hour) + 12;
}
return hour + ":" + minute + ":" + second;
},
parser: function (time) {
var meridian = $("input[name='meridian']:checked").val();
var timeArray = time.split(":");
var hour = timeArray[0];
var minute = timeArray[1];
var second = timeArray[2];
if (meridian == "PM" && parseInt(hour) < 12) {
hour = parseInt(hour) + 12;
}
return hour + ":" + minute + ":" + second;
}
});
</script>
示例 2
这是一个稍微复杂一些的示例,可以演示如何通过timespinner支持多个时区的选择。这个示例中使用了一个下拉框来选择时区。timespinner会根据选择的时区来进行时间的转换。
<select id="timezone" class="easyui-combobox" style="width:150px">
<option value="0">GMT</option>
<option value="8">China</option>
<option value="-8">Pacific</option>
</select>
<input id="timespinner2" type="text" class="easyui-timespinner" style="width: 200px;">
<script>
$('#timespinner2').timespinner({
showSeconds: true,
showHours: true,
formatter: function (time) {
var timezone = $('#timezone').combobox('getValue');
var hour = parseInt(time.split(":")[0]);
var minute = time.split(":")[1];
var second = time.split(":")[2];
return new Date(Date.UTC(1970, 0, 1, hour, minute, second)).toLocaleString("en-US", {timeZone: "Etc/GMT" + timezone});
},
parser: function (time) {
var timezone = $('#timezone').combobox('getValue');
var d = new Date(Date.parse(time));
return d.getUTCHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
}
});
</script>
在以上示例中,我们使用了formatter和parser方法,formatter方法可以将时间格式化为你所需要的格式,并且将时区的差异通过Date.toLocaleString方法进行转换。parser方法可以将时间解析为标准的UTC时间,以便在formatter方法中进行转换。
以上是EasyUI jQuery timespinner widget的完整攻略,希望对你有所帮助。