我有一个输入,我想编辑一个日期.当输入值改变时,我想执行回调.
如果我调用函数datepicker(来自bootstrap-datepicker https://github.com/eternicode/bootstrap-datepicker),我就不能再挂钩到change事件了. (奇怪的是,其他事件似乎工作正常)
这是我到目前为止所尝试的:
(使用骨干)
events: { 'changeDate :input' : 'onUpdateField' },
或直接使用jquery
$('#Fundacion').on('change',this.onUpdateField);
如果我只是评论以下行
$('#Fundacion').datepicker({ autoclose : true,[...]
该事件被调用.
另一方面,调用changeDate evet,但仅在使用鼠标或箭头更改日期时.我想在用户输入不同日期时捕获事件.
我试着看看源码(https://github.com/eternicode/bootstrap-datepicker/blob/master/js/bootstrap-datepicker.js),但我找不到它可能会“吞咽”变化事件.
解决方法
这不是推荐的方法,而是一种肮脏的解决方法.只需在500毫秒后(或根据您的要求)检查日期字段.
var current = $('.transaction-date').val(); function keep_checking() { if (current != $('.transaction-date').val()) { alert('change happened'); current = $('.transaction-date').val(); } setTimeout(keep_checking,500); } keep_checking();
UPDATE
如果您使用以下库,那么它将在更改日期时触发事件’changeDate’.外观与eternicode datepicker非常相似
http://www.eyecon.ro/bootstrap-datepicker/
用法示例:
jQuery('#dp1').datepicker().on('changeDate',function(ev){ alert('date is changed'); });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。