Bootstrap Datetimepicker Trigger" dp.change"在课堂上

时间:2014-12-10 10:00:08

标签: jquery twitter-bootstrap datepicker

我正在使用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

5 个答案:

答案 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之前)。添加脚本,它应该可以正常工作。