微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 使用bootstrap-datepicker检测到所选日期的更改

我有一个输入元素与附加的日期选择器创建使用 bootstrap-datepicker
<div class="well">
  <div class="input-append date" id="dp3" data-date="2012-01-02" data-date-format="yyyy-mm-dd">
    <input type="text" id="date-daily">
    <span class="add-on"><i class="icon-th"></i></span>    
  </div>
</div>

<script language="JavaScript" type="text/javascript">
$(document).ready(function() {
  $('#dp3').datepicker();
  $('#date-daily').val('0000-00-00');
  $('#date-daily').change(function () {
    console.log($('#date-daily').val());
  });
});
</script>

用户通过直接键入输入元素来更改日期时,我可以使用输入元素的onChange事件获取值,如上所示。但是当用户从datepicker更改日期(即通过单击日历上的日期)时,不会调用onChange处理程序。

如何检测通过日期选择器对所选日期所做的更改,而不是通过键入输入元素?

解决方法

所有其他的答案都与jQuery UI datepicker相关,但问题是关于bootstrap-datepicker。

您可以使用on changeDate事件在相关输入上触发更改事件,然后处理从onChange处理程序更改日期的两种方法

changeDate

Fired when the date is changed.

例:

$('#dp3').datepicker().on('changeDate',function (ev) {
    $('#date-daily').change();
});
$('#date-daily').val('0000-00-00');
$('#date-daily').change(function () {
    console.log($('#date-daily').val());
});

这里是一个工作的小提琴:http://jsfiddle.net/IrvinDominin/cUhQJ/

原文地址:https://www.jb51.cc/jquery/185101.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐