我在引导程序模式中使用ng-multiselect-dropdown,以便用户可以选择多个产品,并且在每个onItemSelect
中,我都会使用jquery方法insertAfter()
插入一个新的div,它将收到相应的金额所选产品的。
为此,我为每个以'p'开头的div创建一个新的ID,并向其中添加产品ID(idProduto),因此我可以将其onItemDeselect删除,并使用jquery的val()
获取输入的值。
错误在于获取字段的值,它返回一个空字符串。
onItemSelect方法
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++;
}
}
我正在尝试获取该值以在另一个函数中使用它。这是一个控制台日志,向您显示我如何尝试在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++;
}
this.compra.ps
是我使用[(ngModel)]
答案 0 :(得分:0)
解决了!!!我有两个同名的id,这就是为什么val()返回空字符串的原因。我刚刚更改了第二个,现在工作正常。