javascript - 如何从 Angular 中的 Jquery 函数内的输入字段获取数据?

标签 javascript jquery angular

我想在每次添加/更改/删除字母时获取输入字段值 所以我使用 jquery 来触发它。 但我不知道如何保存这个值。

在 html 中:

 <form [formGroup]="searchForm">
    <input id='myTextbox1' type='text'/>
  </form>

在 ts 文件中:

searchString:string;
searchForm: FormGroup;
  ngOnInit(){

    this.searchForm =  new FormGroup({
      'str':new FormControl(null)
    })
    /
  

    $('#myTextbox1').on('input', function() {
    // i tried this:
      this.searchString = this.searchFrom.controls['str'].value
  });

    
  }

但未从表单中读取控件。

我只想将输入字段的值保存在搜索字符串变量中,并在每次更改时更改它。 请帮助我。

最佳答案

您可以按如下方式更新代码,而不是使用 jquery:

 <form [formGroup]="searchForm">
    <input id='myTextbox1' type='text' formControlName="str"/>
  </form>

您可以使用 Observables 的强大功能来代替 jquery 代码:

 this.searchForm.str.valueChanges.subscribe((value) => {
     this.searchString = value;
 });

关于javascript - 如何从 Angular 中的 Jquery 函数内的输入字段获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58768831/

相关文章:

jquery - 将 .not() 与 .serialize() 一起使用

javascript - If else 切换大小写不同的输出

javascript - 在选择框/下拉列表中仅显示唯一值

javascript - vanilla js,获取具有特定属性的 anchor

javascript - 自定义 Google Charts 以在图表中显示文本/数字

javascript - 如何使用 jQuery 或 JavaScript 拖放多个项目

Angular:文本搜索 rxjs 问题

javascript - 设置后在 HTML 中获取 BASE,但不使用页面 URL

javascript - 第一次按键时无法自动完成

javascript - 动态创建的元素上的 addEventListener 不起作用