我正在使用this包作为我的datepicker。我正在启动这样的插件(CS):
$('.datepicker').datetimepicker(
pickTime: false
language: 'en'
).on 'dp.change', (e) ->
console.log 'this'
datepicker工作正常,但是没有触发dp.change事件,任何人都可以解释原因?
[DIRTY SOLUTION]
现在我正在使用类似这样的东西,非常难看的解决方案:
$('.bootstrap-datetimepicker-widget').on "click", "td.day", ->
date = $('.datepicker input[type=text]').val()
$('.datepicker p').find('span').text date
答案 0 :(得分:5)
文件 https://eonasdan.github.io/bootstrap-datetimepicker/ 给你一个如何做到这一点的例子。 (刚刚测试过,如果你复制+粘贴代码,它会正常工作。)
Person("john","Doe") == Person("john","doe")
true
Person("john","Doe") == Person("john","smith")
false
jquery选择器的ID,你把激活了datepicker的元素放入(即启动它如:
$("#datetimepicker6").on("dp.change", function (e) {
//do your action here
});
) 如果它不适合你,请告诉我:-)
答案 1 :(得分:2)
如果您不了解该元素的DOM
ID
,您可以收听document
上的活动:
$(document).on('dp.change', function (e) {
// here `e` is an event itself.
// So, `e.target` should be a DOM element of the input field.
if ($(e.target).data('object') === 'calendar1') {
console.log('calendar1 just changed');
} else {
console.log('nope, we are waiting for calendar1 changes only');
}
});
我希望这会有所帮助。
答案 2 :(得分:1)
这是一个旧线程,但我遇到了同样的问题,我通过在输入中添加更改事件来解决它。
$("body").on("change dp.change", "#your_selector", function(event){
var date = $("#your_selector").data("datetimepicker").getDate();
console.log(date);
});
答案 3 :(得分:1)
这是一个非常古老的评论话题,但我认为答案有点令人困惑。要获取所选日期,您可以使用
$('.datepicker').on('dp.change', function(e){
//To get moment object
console.log(e.date);
//To format date into DD/MM/YYYY
console.log(e.date.format('DD/MM/YYYY'));
});
答案 4 :(得分:0)
好像您忘了在页面中添加moment.js(在datetimepicker.js之前)。添加脚本,它应该可以正常工作。