繁体   English   中英

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

[英]How to get the changed date from bootstrap-datepicker

我正在使用Eternicode的bootstrap-datepicker库的派生类,直到现在生成它的一切都很好,但是我想获取日期以便在更改日期后在我的逻辑中使用它。

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

我怎样才能做到这一点?

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

假设是最简单的情况(您只有一个选择器,并且希望以与初始化日期选择器相同的格式将日期作为字符串获取),那么您只想不带任何参数地调用.format()

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

这是一个JSFiddle,它正在起作用: http : //jsfiddle.net/bhm7p/3/

将此代码放在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('');
    }
  });
});

您可以尝试两种方法。

尝试实现这一行:

$('#startdate').val()

或者这个:

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

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

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

希望这可以帮助!

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

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

如果您不了解这是如何发生的,可以将响应放入console.log(e)而不是alert(e.getDate)以便可以清晰地了解要访问的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM