Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析

网友投稿 984 2023-07-06


Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析

在bootstrap中的时间选择器有两种:dateTimePicker和dateRangePicker

1、dateTimePicker好像是官方嫡插件:

需要的文件:

API直接参考:http://bootcss.com/p/bootstrap-datetimepicker/

2、dateRangePicker好像是第三方插件,它最终的是可以实现时间段的选择。

需要的文件:

html代码:

日期:

js代码:

但是这里的月份汉化存在问题,建议需要去moment.min.js文件里面去修改。

也可以在后期汉化,比较完整的代码:

var table;

$(function () {

table = $('#example').DataTable({

"ajax": {

"url":"/example/resources/server_processing_customCUrl.php",

"data": wNIBHBfunction ( d ) {

//添加额外的参数传给服务器

d.extra_search = $('#reportrange span').html();

}},

"processing": true,

"serverSide": true,

"language": {

"sProcessing": "处理中...",

"sLengthMenu": "显示 _MENU_ 项结果",

"sZeroRecords": "没有匹配结果",

"sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",

"sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",

"sInfoFiltered": "(由 _MAX_ 项结果过滤)",

"sInfoPostFix": "",

"sSearch": "搜索:",

"sUrl": "",

"sEmptyTable": "表中数据为空",

"sLoadingRecords": "载入中...",

"sInfoThousands": ",",

"oPaginate": {

"sFirst": "首页",

"sPrevious": "上页",

"sNext": "下页",

"sLast": "末页"

},

"oAria": {

"sSortAscending": ": 以升序排列此列",

"sSortDescending": ": 以降序排列此列"

}

},

"dom":

"<'row'<'span9'l<'#mytoolbox'>><'span3'f>r>"+

"t"+

"<'row'<'span6'i><'span6'p>>" ,

initComplete:initComplete

});

});

/**

* 表格加载渲染完毕后执行的方法

* @param data

*/

function initComplete(data){

var dataPlugin =

'

'日期: '+

' '+

'

$('#mytoolbox').append(dataPlugin);

//时间插件

$('#reportrange span').html(moment().subtract('hours', 1).format('YYYY-MM-DD HH:mm:ss') + ' - ' + moment().format('YYYY-MM-DD HH:mm:ss'));

$('#reportrange').daterangepicker(

{

// startDate: moment().startOf('day'),

//endDate: moment(),

//minDate: '01/01/2012', //最小时间

maxDate : moment(), //最大时间

dateLimit : {

days : 30

}, //起止时间的最大间隔

showDropdowns : true,

showWeekNumbers : false, //是否显示第几周

timePicker : true, //是否显示小时和分钟

timePickerIncrement : 60, //时间的增量,单位为分钟

timePicker12Hour : false, //是否使用12小时制来显示时间

ranges : {

//'最近1小时': [moment().subtract('hours',1), moment()],

'今日': [moment().startOf('day'), moment()],

'昨日': [moment().subtract('days', 1).startOf('day'), moment().subtract('days', 1).endOf('day')],

'最近7日': [moment().subtract('days', 6), moment()],

'最近30日': [moment().subtract('days', 29), moment()]

},

opens : 'right', //日期选择框的弹出位置

buttonClasses : [ 'btn btn-default' ],

applyClass : 'btn-small btn-primary blue',

cancelClass : 'btn-small',

format : 'YYYY-MM-DD HH:mm:ss', //控件中from和to 显示的日期格式

separator : ' to ',

locale : {

applyLabel : '确定',

cancelLabel : '取消',

fromLabel : '起始时间',

toLabel : '结束时间',

customRangeLabel : '自定义',

daysOfWeek : [ '日', '一', '二', '三', '四', '五', '六' ],

monthNames : [ '一月', '二月', '三月', '四月', '五月', '六月',

'七月', '八月', '九月', '十月', '十一月', '十二月' ],

firstDay : 1

}

}, function(start, end, label) {//格式化日期显示框

$('#reportrange span').html(start.format('YYYY-MM-DD HH:mm:ss') + ' - ' + end.format('YYYY-MM-DD HH:mm:ss'));

});

//设置日期菜单被选项 --开始--

var dateOption ;

if("${riqi}"=='day') {

dateOption = "今日";

}else if("${riqi}"==wNIBHB'yday') {

dateOption = "昨日";

}else if("${riqi}"=='week'){

dateOption ="最近7日";

}else if("${riqi}"=='month'){

dateOption ="最近30日";

}else if("${riqi}"=='year'){

dateOption ="最近一年";

}else{

dateOption = "自定义";

}

$(".daterangepicker").find("li").each(function (){

if($(this).hasClass("active")){

$(this).removeClass("active");

}

if(dateOption==$(this).html()){

$(this).addClass("active");

}

});

//设置日期菜单被选项 --结束--

//选择时间后触发重新加载的方法

$("#reportrange").on('apply.daterangepicker',function(){

//当选择时间后,出发dt的重新加载数据的方法

table.ajax.reload();

//获取dt请求参数

var args = table.ajax.params();

console.log("额外传到后台的参数值extra_search为:"+args.extra_search);

});

function getParam(url) {

var data = decodeURI(url).split("?")[1];

var param = {};

var strs = data.split("&");

for(var i = 0; i

param[strs[i].split("=")[0]] = strs[i].split("=")[1];

}

return param;

}

}

幸福小彩蛋:

在网上搜索dateranggepicker的资料时,会找到一个比较官方的网站:http://daterangepicker.com/,api全面,但是实际的操作习惯并不便利;所以我更建议daterangepicker-bs3。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

param[strs[i].split("=")[0]] = strs[i].split("=")[1];

}

return param;

}

}

幸福小彩蛋:

在网上搜索dateranggepicker的资料时,会找到一个比较官方的网站:http://daterangepicker.com/,api全面,但是实际的操作习惯并不便利;所以我更建议daterangepicker-bs3。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Bootstrap响应式侧边栏改进版
下一篇:浅谈JQ中mouseover和mouseenter的区别
相关文章

 发表评论

暂时没有评论,来抢沙发吧~