使用 Angular 2 反应形式通过单个复选框提交多个值

骨髓

我正在寻找通过单个复选框提交多个值的最佳方式。这些值正在保存在服务中。

使用属性语法,我可以绑定到附加data-*属性。有没有办法合并自定义data-*value属性的值以在“提交”时一起发送,还是应该使用该getAttribute()方法以不同的方式处理?

模板

<form [formGroup]="myForm" novalidate>
    <template ngFor let-stock [ngForOf]="availableStock">
                <p><label><input type="radio" formControlName="size" [value]="stock.size" [attr.data-stock-sku]="stock.sku" [id]="stock.size">{{ stock.size }}</label></p>  
    </template>

    <p><button type="submit" (click)="onSubmit()">Submit</button></p>
</form>

成分

@Component({
  selector: 'app-reactive-form',
  templateUrl: './reactive-form.component.html',
  styleUrls: ['./reactive-form.component.css']
})

export class ReactiveFormComponent implements OnInit {
    public myForm: FormGroup;
    public availableStock: Array<{"size": string, "sku": string}> = [{"size": "36", "sku": "5409756"}, {"size": "38", "sku": "5409750"},{"size": "40", "sku": "5409754"}];

    constructor(private _formBuilder: FormBuilder) {
        this.createForm();
    }

    createForm(){
        this.myForm = this._formBuilder.group({
            size: [ null , Validators.required  ]
        });
    }

    ngOnInit() {
    }

    onSubmit() {
        if(this.myForm.valid) {
            // submit form eg this._formService.saveFormValues(this.myForm.value);
        } else {
            // display errors
        }
    }

}

编辑:为清楚起见,我想提交/保存分配给单个复选框的多个值。这些是分配给 HTML 中的 'value' 属性和 data-stock-sku/attr.data-stock-sku 属性的值。但是,在提交时,Angular 默认只发送分配给“value”属性的值。

用户4676340

由于您使用大小作为唯一 ID,我宁愿检索数据然后发送它,而不是将多个值分配给 HTML 组件(应该处理字符串)

onSubmit() {
    if(this.myForm.valid) {
        let userSelectedValue = this.availableStock.find(stock => stock.size === this.myForm.get('size').value);
        // Use your value here 
    } else {
        // Handle your errors yourself
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有反应形式的 Angular 2 复选框值

来自分类Dev

使用Angular禁用“提交”按钮,直到选中2或3个复选框

来自分类Dev

Dart Angular2-使用复选框值将组件布尔值绑定

来自分类Dev

Angular 2 复选框值

来自分类Dev

Angular 2使用模板中的复选框值启用组件中的输入框

来自分类Dev

Angular 9反应形式:使用trackBy时,复选框未更新

来自分类Dev

Angular 2使用ngFor设置和绑定复选框

来自分类Dev

在Angular 2中使用管道过滤复选框

来自分类Dev

在Angular 2中使用管道过滤复选框

来自分类Dev

Angular 2使用ngFor设置和绑定复选框

来自分类Dev

如何使用 Angular 2 中的复选框删除多行?

来自分类Dev

收集 PHP 中多个复选框的值(2 个以相同形式提交?)

来自分类Dev

如果使用 formGroup Angular2 进行检查,如何在屏幕上显示复选框值

来自分类Dev

Angular 2:多个复选框切换

来自分类Dev

Angular2 - 带有多个复选框的 NgFor

来自分类Dev

如何使用 Angular 弹出复选框值?

来自分类Dev

Angular 2 列出需要预先勾选的复选框,并在表单提交时获取这些值

来自分类Dev

Angular2是否可以使用带有复选框的双向绑定?

来自分类Dev

无法使用Angular2将Style.Top绑定到单击的复选框的坐标

来自分类Dev

无法使用 angular 2+ 中的复选框进行过滤

来自分类Dev

Angular 2复选框preventDefault

来自分类Dev

Angular 2 杠杆复选框输入

来自分类Dev

Angular 8反应形式:不可单击复选框

来自分类Dev

使用Angular获取复选框的价值

来自分类Dev

检测Angular2 RC5反应形式中使用了哪个提交按钮

来自分类Dev

使用Angular JS检查每个HTML行的单个复选框

来自分类Dev

使用PHP和MySQL提交多个复选框以及文本框输入值?

来自分类Dev

如何在 angular 2 中通过搜索保留复选框

来自分类Dev

如何在angular2的for循环中选择多个复选框?

Related 相关文章

  1. 1

    具有反应形式的 Angular 2 复选框值

  2. 2

    使用Angular禁用“提交”按钮,直到选中2或3个复选框

  3. 3

    Dart Angular2-使用复选框值将组件布尔值绑定

  4. 4

    Angular 2 复选框值

  5. 5

    Angular 2使用模板中的复选框值启用组件中的输入框

  6. 6

    Angular 9反应形式:使用trackBy时,复选框未更新

  7. 7

    Angular 2使用ngFor设置和绑定复选框

  8. 8

    在Angular 2中使用管道过滤复选框

  9. 9

    在Angular 2中使用管道过滤复选框

  10. 10

    Angular 2使用ngFor设置和绑定复选框

  11. 11

    如何使用 Angular 2 中的复选框删除多行?

  12. 12

    收集 PHP 中多个复选框的值(2 个以相同形式提交?)

  13. 13

    如果使用 formGroup Angular2 进行检查,如何在屏幕上显示复选框值

  14. 14

    Angular 2:多个复选框切换

  15. 15

    Angular2 - 带有多个复选框的 NgFor

  16. 16

    如何使用 Angular 弹出复选框值?

  17. 17

    Angular 2 列出需要预先勾选的复选框,并在表单提交时获取这些值

  18. 18

    Angular2是否可以使用带有复选框的双向绑定?

  19. 19

    无法使用Angular2将Style.Top绑定到单击的复选框的坐标

  20. 20

    无法使用 angular 2+ 中的复选框进行过滤

  21. 21

    Angular 2复选框preventDefault

  22. 22

    Angular 2 杠杆复选框输入

  23. 23

    Angular 8反应形式:不可单击复选框

  24. 24

    使用Angular获取复选框的价值

  25. 25

    检测Angular2 RC5反应形式中使用了哪个提交按钮

  26. 26

    使用Angular JS检查每个HTML行的单个复选框

  27. 27

    使用PHP和MySQL提交多个复选框以及文本框输入值?

  28. 28

    如何在 angular 2 中通过搜索保留复选框

  29. 29

    如何在angular2的for循环中选择多个复选框?

热门标签

归档