6

我宁愿使用 Bootstrap 的 Meteor 包实现,而不是使用较少文件的版本,但我很难让日期选择器工作。

似乎有三个处于不同状态的版本,Aymkdn 的最后一个版本正在编译并准备就绪。

http://www.eyecon.ro/bootstrap-datepicker/

https://github.com/eternicode/bootstrap-datepicker/

https://github.com/Aymkdn/Datepicker-for-Bootstrap

Aymkdn 的版本在普通的 html 中运行良好,但不是从 Meteor 提供的,我很想知道为什么。

我想将 Aymkdn 的一个与 Meteor 一起使用,但我无法让它工作。我认为这可能与 Meteor 中的 js 加载顺序或 DOM 渲染有关。关于如何让它发挥作用的任何见解?

谢谢斯蒂夫

4

2 回答 2

15

最初发布此问题时,也许这种方法不可用,但是我在呈现模板时正在初始化日期选择器。

Template.templateName.rendered = function() {
    $('#datepicker').datepicker();
}

这是该活动的链接:http: //docs.meteor.com/#template_rendered

使用这种方法,我无需维护会话属性或处理焦点事件。由于会话属性被触发,当模板被卸载并返回时,Prashant 的解决方案对我不起作用。我还有一个问题,即数据选择器第一次获得焦点时没有显示。

是的,每次渲染模板时数据选择器都会被初始化,但我认为这没关系,因为我很确定模板资源在它们之间导航时会被清理。

于 2012-11-25T02:19:01.420 回答
2

为了让日期选择器工作,这就是我所做的,

// At the beginning of the script
Session.set("datepicker_unset", 1);

Template.template_name.events = {
    'focus #date-id' : function(event) {
        if (Session.get("datepicker_unset")) {
            $(event.target).datepicker();
            Session.set("datepicker_unset", 0);
        }
        // Anything else on #date-id focus?
    },
    // Any other events here
}

我猜你正在使用,$(document).ready()方法。我也这样做了,因为它对我不起作用,我认为这将是最好的解决方案。

希望这对你也有效!

于 2012-08-20T16:13:54.743 回答