【问题标题】:Update Angular2 model after setting input value with jQuery使用 jQuery 设置输入值后更新 Angular2 模型
【发布时间】:2018-06-14 04:37:45
【问题描述】:

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

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

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

注意:angular1 question here doesn't work

【问题讨论】:

    标签: jquery angular angular2-forms


    【解决方案1】:

    也许这会在以后对某人有所帮助,但在使用带有 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'));
    }
    

    【讨论】:

    • 使用“输入”事件对我来说很关键。我最初有“改变”,但它没有更新模型。所以我将它从“更改”切换到“输入”,并更新了模型。谢谢!!!
    猜你喜欢
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多