使用 jQuery 设置输入值后更新 Angular2 模型 [英] Update Angular2 model after setting input value with jQuery

查看:25
本文介绍了使用 jQuery 设置输入值后更新 Angular2 模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在表单控制下有一个输入,我正在尝试使用 chrome 调试控制台手动修改.

I have an input under form control, im trying to modify manually with the chrome debug console.

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

问题已更改不会被选中,该字段仍被标记为必填项.我不知道 angular 在内部做什么,也不知道它在侦听哪个事件.
我试图发送该输入上的每个事件,
关于如何使角度取该值的任何想法?

Issue is changed doesn't get picked, the field is still marked as required. I dont know what angular is doing internally or which event its listenning to.
I tried to send every event on that input,
any idea on how to make angular to take that value ?

注意:angular1 问题在这里不起作用

推荐答案

也许这会在以后对某人有所帮助,但它在使用带有 bubbles=true cancelable=true 的本机事件时有效

Maybe this will help someone later but it works when using native event with 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'));
}

这篇关于使用 jQuery 设置输入值后更新 Angular2 模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆