Bootstrap Datepicker(多个)取消选择不起作用 [英] Bootstrap datepicker (multiple) unselect not working

查看:45
本文介绍了Bootstrap Datepicker(多个)取消选择不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在一个需要多年时间的项目中工作,所以我将Bootstrap datepicker与多个日期输入一起使用

I am working on a project where I need multiple years so I use Bootstrap datepicker with multiple date input

$('#sandbox-container input').datepicker({
    format: "yyyy",
    multidate: true,
    minViewMode: 2
});

$('#sandbox-container input').datepicker('setDate', '2015','2016');

它工作正常,但是当我单击诸如 2015 之类的选定日期(此处为年份)时,它会附加2015年而不是取消选择它.

It works fine but when i click on selected date (here year) like 2015 than it append 2015 instead of deselect it.

JS小提琴链接

推荐答案

两天后终于找到解决方案:)代替 setDate ,使用 setUTCDate ,并且必须通过所有年份在新的日期获得全职

Finally found solution after 2 days :) instead of setDate use setUTCDate and have to pass all years in new Date to get full time

var myDate = [];
var data = ["2012","2016"];
$.each(data, function(k, v){
   var nd = new Date(v);
   var ndd = nd.getDate()-1;
   var ndm = nd.getMonth()+1;
   var ndy = nd.getFullYear();
   var ndg = [parseInt(ndy), parseInt(ndm), parseInt(ndd)];
   myDate.push(new Date(nd)); 
});
$('#sandbox-container input').datepicker('setUTCDate',myDate);

setDate 存储当前日期时间(如 [Tue Sep 19 2017 11:30:00 GMT + 0530(IST)]

setDate store current datetime(like [Tue Sep 19 2017 11:30:00 GMT+0530 (IST)]

当我们在日期选择器日历中单击年份时,它会存储时间,例如 [2012年1月1日,星期日,格林尼治标准时间+0530(IST)]

when we click on year in datepicker calendar it store time like [Sun Jan 01 2012 05:30:00 GMT+0530 (IST)]

所以两个时间都存储了不同的时间,所以为什么它会取消选择我们使用setDate设置的日期

so both time stores different time thatswhy it doent deselect date we set using setDate

这篇关于Bootstrap Datepicker(多个)取消选择不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆