首页 > 解决方案 > yearpicker 日期更改事件

问题描述

我想在用户选择年份时检测事件,我正在使用yearpicker

html:

<input type="text" class="yearpicker form-control" value="2020" id="y_picker" readonly/>

我试过:

$("#y_picker").change(function () {
    alert('hhh');
});

但事件没有触发

标签: jquerydate

解决方案


当控件失去输入焦点并且其值在获得焦点后已被修改时,会发生更改事件。此事件对 INPUT、SELECT 和 TEXTAREA 有效。元素。

取自W3C HTML Events 文档

输入的值以编程方式更改,因此onchange事件永远不会发生。它需要在 yearpicker 插件中以编程方式触发。为此,打开yearpicker.js,搜索方法setValue(第 399 行)并添加以下代码的最后一行:

  if (this.isInput) {
    $this.val(value);
  } else {
    $this.html(value);
  }
  // trigger the change event:
  $this.trigger("change");

推荐阅读