Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从返回空字符串的模式中的输入中获取值_Jquery_Angular_Typescript - Fatal编程技术网

Jquery 从返回空字符串的模式中的输入中获取值

Jquery 从返回空字符串的模式中的输入中获取值,jquery,angular,typescript,Jquery,Angular,Typescript,我在引导模式中使用ng multiselect下拉列表,这样用户可以选择多个产品,在每个onItemSelect中,我使用jquery方法insertAfter()插入一个新的div,它将接收所选产品的数量。 为此,我正在为每个div创建一个新的id,从'p'开始,并将产品id(idProduto)添加到其中,这样我就可以在mdeselect上删除它,并使用jquery的val()获取输入值 获取字段值时出错,返回的是空字符串 单选法 onItemSelect(item: any){ i

我在引导模式中使用ng multiselect下拉列表,这样用户可以选择多个产品,在每个
onItemSelect
中,我使用jquery方法
insertAfter()
插入一个新的div,它将接收所选产品的数量。 为此,我正在为每个div创建一个新的id,从'p'开始,并将产品id(idProduto)添加到其中,这样我就可以在mdeselect上删除它,并使用jquery的
val()
获取输入值

获取字段值时出错,返回的是空字符串

单选法

onItemSelect(item: any){
    if (item){
      this.itemCompra = item;
      $('<div id="p'+this.itemCompra.idProduto+'" class="form-group"><label for="exampleFormControlInput1">Quantidade de '+this.itemCompra.nome+'</label><input id="p'+this.itemCompra.idProduto+'" class="form-control" formControlName="quantidade" type="number" min="1" [(ngModel)]="compra.quantidade'+this.itemCompra.idProduto+'" [ngClass]="{ '+!this.inv+' : submitted && f.quantidade.errors }"><div *ngIf="submitted && f.quantidade.errors" class="invalid-feedback"><div *ngIf="f.quantidade.errors.required">Escolha a quantidade</div></div></div>').insertAfter('#bodyCompra form>div:last');
      this.cont++;
    }
 } 
onItemSelect(项目:任意){
如果(项目){
this.itemcompa=项目;
$('Quantidade de'+this.itemcompa.nome+'Escolha a Quantidade')。后面插入('bodyCompra form>div:last');
这个.cont++;
}
} 
我正在尝试获取在另一个函数中使用它的值。这是一个控制台日志,向您展示我如何尝试在for循环中获取值:

while(i<this.compra.ps.length){
  console.log($('#p'+this.compra.ps[i]["idProduto"]).val());
  //this.compra.ps[i]["quantidade"]=$('#p'+this.compra.ps[i]["idProduto"]).val();
  i++;
}

while(iSolved!!!我有两个同名的id,这就是为什么我的val()返回空字符串的原因。我刚刚更改了第二个id,现在工作正常。

Solved!!!我有两个同名的
id
,这就是为什么我的
val()
返回了一个空字符串。我刚刚更改了第二个字符串,它现在工作正常。你究竟为什么要将jQuery与angular一起使用?我的主管推荐了,我很喜欢学习它。我不应该使用它吗?不建议使用任何在angular中操纵DOM的东西。angular不知道你在使用angular时会发生什么MPE使用jQuery操作DOM。因此,在这样做时,您可能会遇到很多麻烦。在角度上操作DOM应该是最后的选择。但是99%的情况下,有一种“角度方式”来做事情,而不是使用例如jQuery。甚至
ElementRef
(虽然您没有在此处使用它,但这是访问DOM的一种方法)警告您仅在需要时使用它: