首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >外部更新引导-数据报警器

外部更新引导-数据报警器
EN

Stack Overflow用户
提问于 2014-06-06 09:35:07
回答 2查看 697关注 0票数 0

我在多选择+内联模式下使用Bootstrap-datepicker,我需要用一些预选的日期从外部更新它。我做了一些研究,但似乎没有什么效果。请记住,我在一个angularJS上下文中,数据报警器在一个角指令中。到目前为止我尝试过的事情:

1.

element.data('datepicker').dates = myDatesArray;

这设置了日期,但有些奇怪的事情发生了,当日历被呈现时,我设置的所有日期都以-3小时的时间偏移显示(请记住,我不需要日期对象的时间部分)。我试图在每个日期上做一些类似于.addHours(3,0,0,0)的事情,然后将它提供给控件,更奇怪的事情发生了:日期是按预期设置的,但是相反,发生了一些事情(显然我不知道为什么),并且控件会禁用它们。因此,日期被选择和禁用在同一时间,这是垃圾,因为用户不能取消选择他们了。

2.

我发现了一个这样的问题,并尝试了一些东西,比如:

$('.datepicker').datepicker('setDate', new Date('2014-06-12')); $('.datepicker').datepicker('setValue', '2014-06-19').datepicker('update'); $('.datepicker').datepicker('update', '2014-06-29');

其中每一个都会导致数据报警器再呈现一次。如果我在循环中有这些来遍历数组中的所有日期,我将有与所选日期一样多的日历。

3.

我还尝试在控件内创建一个方法,类似于它的beforeShowDay,但这也不起作用,因为控件使用的内部数组当时没有公开,因此我会遇到一些错误。

如果需要,我可以添加角指令,但我不认为它太相关。

PS:我不知道多少jQuery,我觉得一些很明显的东西正盯着我的脸,因为我看到了很多人的评论,声称第二种方法(实际上都是)对他们有用。任何帮助都将不胜感激。

好的,根据请求,我创建了一个JSFiddle。这里是:小提琴

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-06 11:33:09

好吧,所以我想通了。我还不知道为什么,但是在执行$('.datepicker').datepicker('setDate', new Date('2014-06-12'));时,控件会复制自己。但是为了实现这个目标,我已经做了如下工作:element.datepicker({/*init stuff here*/}).datepicker('setDate', date); --它像预期的那样工作,它按它应该设置的方式设置数组,如果我想取消选择它应该做的事情,它也会按它应该的方式工作。这也适用于日期数组。这是工作的小提琴

票数 0
EN

Stack Overflow用户

发布于 2014-06-06 09:40:02

您可以为输入(它是日期/时间选择器的源)设置值,然后调用

代码语言:javascript
复制
$(sourceelement).val(newvalue);
$(sourceelement).datepicker('update');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24078624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档