在 jQuery 日期选择器上收听 onChange?

Posted

技术标签:

【中文标题】在 jQuery 日期选择器上收听 onChange?【英文标题】:Listening to onChange on a jQuery datepicker? 【发布时间】:2015-07-19 21:30:18 【问题描述】:

我目前正在创建这样的日期选择器

html

<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<input id="datepicker" type="datepicker" name="date" placeholder="Date" />

JS

$('#datepicker').datepicker()
    .on("change", function (e) 
    console.log("Date changed: ", e.target.value);
);

我的目标是能够在用户清除日期框时进行监听。但是,更改事件似乎仅在您取消聚焦日期框后才会触发。我想知道是否有一种方法可以监听 jQuery 日期框中的所有更改,或者是否有更好的选择。

JsFiddle 链接: https://jsfiddle.net/szkfm0y7/

【问题讨论】:

该类型不是有效类型。您可能想将其更改为文本,看看是否适合您。 【参考方案1】:

input 上使用jquery 以及change 事件

$('#datepicker').datepicker()
    .on("input change", function (e) 
    console.log("Date changed: ", e.target.value);
);

Fiddle

【讨论】:

【参考方案2】:

这是一个可能的解决方案:https://jsfiddle.net/7atsua85/

如下所示,使用$(this).val()代替e.target.value,

$('#datepicker').datepicker()
    .on("change", function (e) 
    //console.log("Date changed: ", e.target.value);
    alert($(this).val())
);

【讨论】:

以上是关于在 jQuery 日期选择器上收听 onChange?的主要内容,如果未能解决你的问题,请参考以下文章

在日期选择器上设置日期 jquery ui datepicker

如何根据 PHP 数据库中的结果在 jQuery 日期选择器上禁用一周中的某些天

日期选择器上/下个月日期可选

保存字段日期选择器上的 JqGrid 错误

具有自定义日期的 Jquery 日期选择器 [关闭]

在日期选择器上禁用过去的日期