如何从jquery datePicker获取所选日期

时间:2014-05-24 06:30:12

标签: javascript jquery backbone.js datepicker

在我的应用中,我们使用以下代码渲染DatePicker(calender)。它完美无缺。

 $('#date2').DatePicker({
    flat: true,
    date: [],
    current: '2008-07-31',
    format: 'Y-m-d',
    calendars: 1,
    mode: 'multiple',
    starts: 0
});

渲染之后,它就像this一样。仍然是Html的人尚未实现CSS。从日历用户可以选择多个日期。

我们正在Application.What中使用Backbone and Marionette如果用户从日历中选择任何日期,需要在回调函数中触发一个事件,希望console选择日期()。为此,我尝试过使用以下代码,但它无效。

events:{
  "select #date2":"consoleDates"
},
consoleDates:function(event){
 console.log($(event.target).val());
}

我也试过了change事件,这也没有解雇。

我该如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

使用onselect。试试这个:

 $('.selector').datepicker({
   onSelect: function(date) {
       alert(date);
   }
 });

更新:查看文档,其属性为onChange

onChange: function(formated, dates){
    console.log(dates);
}

答案 1 :(得分:0)

好的,如果你真的想使用这个插件,它不会触发任何DOM事件。因为这个插件有点过时,我认为CustomEvents的概念还没有被引入。无论如何,您必须在代码实例化中实际绑定自定义事件。所以看起来应该是这样的:

$('#date2').DatePicker({
    flat: true,
    date: [],
    current: '2008-07-31',
    format: 'Y-m-d',
    calendars: 1,
    mode: 'multiple',
    starts: 0,
    onChange: function(formatted, dates){
       $('#date2').trigger('datePick', arguments);
    }
});

然后在Backbone中它应该是这样的:

events:{
  "datePick #date2":"consoleDates"
},
consoleDates:function(event, formatted, dates){
  console.log(formatted.join(', '));
}