使用jQuery设置输入值后更新Angular2模型

问题描述 投票:0回答:1

我在表单控件下有一个输入,我试图用chrome调试控制台手动修改。

jQuery($0).trigger('focus')
jQuery($0).val('2')
jQuery($0).trigger('input')
jQuery($0).trigger('change')
jQuery($0).trigger('blur')

问题已更改未被选中,该字段仍标记为必需。我不知道角度在内部做什么或者它正在听哪个事件。 我尝试在该输入上发送每个事件, 关于如何使角度取这个值的任何想法?

注意:angular1 question here doesn't work

jquery angular angular2-forms
1个回答
2
投票

也许这会稍后帮助某人,但是当使用带有bubbles = true cancelable = true的原生事件时它可以工作

function modifyValue(field, value) {
  var createEvent = function(name) {
    var event = document.createEvent('Event');
    event.initEvent(name, true, true);
    return event;
  }

  field.dispatchEvent(createEvent('focus'));
  jQuery(field).val(value);
  field.dispatchEvent(createEvent('change'));
  field.dispatchEvent(createEvent('input'));
  field.dispatchEvent(createEvent('blur'));
}
© www.soinside.com 2019 - 2024. All rights reserved.