【发布时间】:2018-09-18 11:00:28
【问题描述】:
我试图在使用 jQuery val() 方法填充 jQuery datepicker 输入后触发“更改”事件(我不是“选择”值,而是使用 jquery val() 注入它)。问题是它不起作用 - 输入字段没有保存插入的值并且表单看不到它(并阻止提交)。我的代码是:
var date1 = 27/02/2018;
var newdate = date1.split("/").reverse().join("-");
var selection = $('#date_field').val(newdate);
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", true, true);
selection.dispatchEvent(evt);
我也在尝试“输入”事件,但它也不起作用。
如果您知道如何在日期选择器输入上触发更改事件,请给我一些建议。
干杯, 保罗
【问题讨论】:
-
selection是一个 jQuery 对象,所以只需selection.change()就会引发该事件。如果这没有您正在寻找的效果,那么您尝试触发的事件处理程序可能未绑定到该元素 -
好的,我现在明白了。我检查了字段事件处理程序,那里没有“更改”事件。但是有:'blur','click','copy','cut','error','focus','focusin','focusout','keydown','keypress','keyup','load' ,'消息','mousedown','mouseup','粘贴','文本输入'。我尝试了 'keyup' 和 'blur' 事件,因为我认为更改可能是在模糊时触发的,但它只是清除插入的值....如何在该字段中保存插入的值?也许还有其他一些可能性可以在这种类型的字段上实现“改变”?
标签: javascript jquery html input datepicker