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/

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...