如何从bootstrap-datepicker获取更改日期

时间:2013-12-06 00:35:31

标签: javascript jquery twitter-bootstrap bootstrap-datepicker

我正在使用Eternicode's fork of the bootstrap-datepicker library,直到现在一切都很顺利才能生成它,但我希望得到日​​期,以便在更改日期后在我的逻辑中使用它。

$('#calendar').on('changeDate', function(event, date) {
  // how to pop alert message to print the date I've chosen ?
});

我该怎么做?

4 个答案:

答案 0 :(得分:12)

作为described in the docs,bootstrap-datepicker的Eternicode版本为changeDate事件添加了三个属性,可用于访问新选择的日期。您会对.date属性(指向代表所选日期的实际date object)或.format方法感兴趣,您可以使用该方法将日期作为字符串

假设最简单的情况(你有一个选择器并且你希望以与初始化datepicker相同的格式将日期作为字符串),你只需要调用.format()参数:

$('#calendar').on('changeDate', function(event) {
    alert(event.format());
});

这是一个JSFiddle,显示了这个:http://jsfiddle.net/bhm7p/3/

答案 1 :(得分:0)

将此代码放在jquery函数主体中:

$(document).ready(function () {
  $('#datepicker').on('dp.change', function(){
    var t=Date.parse($("#dob1").val());    
    if (t > Date.now()) {
      alert('Selected date shold not be a future date');
      $("#dob1").val('');
    }
  });
});

答案 2 :(得分:-1)

你可以尝试两件事。

尝试实施此行:

$('#startdate').val()

或者这个:

$('#startdate').data('date')

Drew T.建议使用.val() - 也非常有效。

$('#calendar').on('changeDate', function(event, date) {
    var date = $('#calendar').val();
    alert(date);
});

希望这有帮助!

答案 3 :(得分:-1)

实际上基本是这样的:
您将通过解析为.on参数的e事件访问日期。来自e您无法访问.getDate

$('#calendar').on('changeDate', function(e) {
    alert(e.getDate()+'/'+e.getMonth()+e.getFullYear());
});

如果您无法理解这是如何发生的,您可以将回复放在console.log(e)而非alert(e.getDate)中,以便您可以清楚地了解要访问的内容。