如何让Twitter引导日期选择器与Meteor一起使用?

时间:2012-08-13 10:28:38

标签: twitter-bootstrap meteor

我宁愿使用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渲染有关。有关如何使其工作的任何见解?

由于 吊杆

2 个答案:

答案 0 :(得分:15)

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

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

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

使用这种方法,我没有维护会话属性或处理焦点事件。当模板被卸载并返回到会话属性被触发时,Prashant的解决方案对我不起作用。我还遇到了一个问题,即数据贴纸在第一次聚焦时没有显示。

是的,每次渲染模板时数据贴图都会被初始化,但我认为没关系,因为我非常确定模板资源在它们之间导航时都会被清除。

答案 1 :(得分: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()方法。我也做了,因为它对我不起作用,我认为这将是最好的解决方案。

希望这也适合你!