我宁愿使用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渲染有关。有关如何使其工作的任何见解?
由于 吊杆
答案 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()
方法。我也做了,因为它对我不起作用,我认为这将是最好的解决方案。
希望这也适合你!