为了熟悉一下bootstrap-datetimepicker插件,动手再实践了一下bootstrap-datetimepicker。用它写了一个简单的日期选择器,可以选择一个日期中的时间范围。同时可以动态添加和删除日期控件。并且控制每个日期的结束的小时时间必须要晚于开始的小时时间,同时给表单生成好了name名称,以在提交的时候可以以一个数组提交。
需要加载多个JS和jquery,bootstrap,统一打了一个包,请点击下载源代码包:bootstrap-datetimepicker实现动态添加日期时间范围源码实例。
效果截图如下:

主要的页面源代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>DateTime test page</title>
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20src%3D%22jquery_17min.js%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" />
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20language%3D%22javascript%22%20src%3D%22bootstrap-datetimepicker.min.js%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" />
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20type%3D%22text%2Fjavascript%22%20src%3D%22bootstrap-datetimepicker.zh-CN.js%22%20charset%3D%22UTF-8%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" />
<link rel="stylesheet" href="bootstrap.min.css" />
<link rel="stylesheet" href="bootstrap-datetimepicker.min.css" />
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%20%20%20%20%20%20%20%20.timetext%20input%7Btext-align%3Acenter%3Bcolor%3Ablue%3B%7D%0A%20%20%20%20%3C%2Fstyle%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<style>" title="<style>" />
</head>
<body>
<form method="post" action="">
<div class="container timetext">
<div class="row clearfix">
<hr>
<div class="col-md-12 column">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4>
日期时间选择器测试:bootstrap-datetimepicker
</h4>
时间选择器:bootstrap-datetimepicker 测试
</div>
</div>
</div>
<div class="row clearfix" id="first_text">
<div class="col-md-12 column" style="margin-top:15px;">
<form role="form">
<div class="input-append">
<span class="col-xs-3">请选择:</span><input size="16" type="text" name="tdata[date_1]" class="form_datetime" value="" > 到
<input type="text" size="8" id="mirror_field" value="" class="form_time" name="tdata[time_1]" />
</div>
</form>
</div>
</div>
<div class="row clearfix" id="addtext"></div>
<hr>
<div class="row clearfix">
<div class="col-md-4 column">
<button type="button" class="btn active btn-xs btn-primary " id="add_date">增加日期</button>
<button type="submit" class="btn active btn-xs btn-success active" >提交表单</button>
</div>
</div>
</div>
</form>
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%20%20%20%20var%20initText%20%3D%20%24(%22%23first_text%22).html().replace('%E8%AF%B7%E9%80%89%E6%8B%A9%EF%BC%9A'%2C'%3Cbutton%20type%3D%22button%22%20class%3D%22btn%20active%20btn-xs%20btn-warning%20active%20del_line%22%3E%E5%88%A0%E9%99%A4%E6%AD%A4%E8%A1%8C%3C%2Fbutton%3E')%3B%0A%20%20%20%20var%20i%20%3D2%3B%0A%20%20%20%20%24(%22%23add_date%22).click(function()%7B%0A%20%20%20%20%20%20%20%20var%20re%3Dnew%20RegExp(%22_1%22%2C%20%22g%22)%3B%0A%20%20%20%20%20%20%20%20%24(%22%23addtext%22).append(%20initText.replace(re%2C%20'_'%2Bi))%3B%0A%20%20%20%20%20%20%20%20i%2B%2B%3B%0A%20%20%20%20%20%20%20%20%24.initDataPlugin()%3B%0A%20%20%20%20%7D)%3B%0A%20%20%20%20%24.initDataPlugin%20%3D%20function()%7B%0A%20%20%20%20%20%20%20%20%24(%22.form_datetime%22).datetimepicker(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20format%3A%20%22hh%3Aii%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20language%3A'zh-CN'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20autoclose%3Atrue%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20todayBtn%3Afalse%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20showMeridian%3Afalse%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20minuteStep%3A15%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20startView%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20minView%3A%200%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20maxView%3A%201%2C%0A%20%20%20%20%20%20%20%20%7D).on(%22hide%22%2Cfunction(ev)%7B%0A%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%24(%22.form_time%22).datetimepicker(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20format%3A%20%22hh%3Aii%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20language%3A'zh-CN'%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20autoclose%3Atrue%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20todayBtn%3Afalse%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20showMeridian%3Afalse%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20minuteStep%3A15%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20startView%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20minView%3A%200%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20maxView%3A%201%2C%0A%20%20%20%20%20%20%20%20%7D).on('hide'%2C%20function(ev)%7B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20endt%20%3D%20%24(this).val().replace('%3A'%2C'')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20stat%20%3D%20%24(this).prev(%22input%22).val().replace('%3A'%2C'')%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if(endt!%3D''%20%26%26%20stat%20%3E%3D%20endt)%7Balert('%E7%BB%93%E6%9D%9F%E6%97%B6%E9%97%B4%E5%BF%85%E9%A1%BB%E8%A6%81%E6%99%9A%E4%BA%8E%E8%B5%B7%E5%A7%8B%E6%97%B6%E9%97%B4!')%3B%24(this).val('')%3Breturn%20false%3B%7D%0A%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%20%20%24(%22.del_line%22).click(function()%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24(this).parent().parent().remove()%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%3B%0A%20%20%20%20%24.initDataPlugin()%3B%0A%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="<script>" title="<script>" />
</body>
</html>
© 著作权归作者所有
文章评论(0)